The topic probably sounds silly, but this is something that I've seriously been thinking about today.
For most things, I learn best by doing... by trying things out and discovering how things work on my own. However, most things are much more simple than learning a complex programming language or some framework.
In the past, when I've picked up a programming book I've taken what I felt was the "learn by doing" approach and worked slowly through the book - typing in the examples as I went along, and doing the exercises at the end of each chapter (if there were any). Eventually though I'd get bored or start feeling overwhelmed (*cough* Cocoa/Objective C memory management ) - feeling like I'd not made much progress.
Sometimes I'd learn how to do something - but not really understand why it was done that way. It seems to me that to really comprehend a language you should know why things are done a certain way - but as a result, I'd start to get bogged down in the details.
So, now I'm thinking that what I really need to do to make progress is just READ THE BOOK. Skip typing all that code in because it's just slowing me down - and get through the book, even if I don't remember all of the details. I can always go back and read certain parts again to get the details.
I think it may be better to get a general overview of the language - then hopefully the details will fall into place and start to make more sense later on.
What do you think? When you're first learning a programming language do you read through the entire book quickly? or do you work through all of the examples/exercises? I'm interested in other people's thoughts on this...
For most things, I learn best by doing... by trying things out and discovering how things work on my own. However, most things are much more simple than learning a complex programming language or some framework.
In the past, when I've picked up a programming book I've taken what I felt was the "learn by doing" approach and worked slowly through the book - typing in the examples as I went along, and doing the exercises at the end of each chapter (if there were any). Eventually though I'd get bored or start feeling overwhelmed (*cough* Cocoa/Objective C memory management ) - feeling like I'd not made much progress.
Sometimes I'd learn how to do something - but not really understand why it was done that way. It seems to me that to really comprehend a language you should know why things are done a certain way - but as a result, I'd start to get bogged down in the details.
So, now I'm thinking that what I really need to do to make progress is just READ THE BOOK. Skip typing all that code in because it's just slowing me down - and get through the book, even if I don't remember all of the details. I can always go back and read certain parts again to get the details.
I think it may be better to get a general overview of the language - then hopefully the details will fall into place and start to make more sense later on.
What do you think? When you're first learning a programming language do you read through the entire book quickly? or do you work through all of the examples/exercises? I'm interested in other people's thoughts on this...