Learning and using an actual language is important in that it will give you much a tighter feedback loop than just learning about the concepts abstractly or through pen-and-paper.
Python is the most commonly recommended programming language for those who want to learn the basics. Learn Python the Hard Way is often recommended as a beginner’s learning source. I haven’t tried it myself (I already know how to program) but it looked reasonable when I gave it a skim.
Thanks.
I have a list of books people recommend (and a favourite that I’ve decided to use), but I haven’t heard much about how other people learnt, before these all came out. How did you?
I was a physics major and kind of got thrown into the deep end in a “Scientific Programming” class where we had to write physics simulations in C with very little instruction. Back then I (somehow) didn’t realize that doing my own online research and self-learning was a good idea so I had to rely on the TA a lot when I didn’t know how to do something. Fortunately programming came somewhat naturally to me and I was able to do ok by learning from the example code we were given and proceeding by analogy. Interestingly there were people in the class who were better than me at physics and math but found programming a lot harder than I did. I don’t know what the difference was.
After my degree I decided I didn’t like physics enough to continue and went back to school for a master’s in IT, since I’d enjoyed the programming class and it seemed like a good field job-wise. There I learned programming in a more normal way (starting with Java) and got better about self learning, including teaching myself Ruby using the first half of Why’s (Poignant) Guide to Ruby.
Since then I’ve continued learning through working as a programmer, through online resources (including Coursera which has some great courses), and through books. It was also helpful to have a smart programmer at my first company who was able to informally mentor me when I was new.
(Sorry for the long-winded answer, but I agree with you that’s it’s interesting to see how people really did something, not just how they’d recommend doing it).
Learning and using an actual language is important in that it will give you much a tighter feedback loop than just learning about the concepts abstractly or through pen-and-paper.
Python is the most commonly recommended programming language for those who want to learn the basics. Learn Python the Hard Way is often recommended as a beginner’s learning source. I haven’t tried it myself (I already know how to program) but it looked reasonable when I gave it a skim.
Thanks. I have a list of books people recommend (and a favourite that I’ve decided to use), but I haven’t heard much about how other people learnt, before these all came out. How did you?
I was a physics major and kind of got thrown into the deep end in a “Scientific Programming” class where we had to write physics simulations in C with very little instruction. Back then I (somehow) didn’t realize that doing my own online research and self-learning was a good idea so I had to rely on the TA a lot when I didn’t know how to do something. Fortunately programming came somewhat naturally to me and I was able to do ok by learning from the example code we were given and proceeding by analogy. Interestingly there were people in the class who were better than me at physics and math but found programming a lot harder than I did. I don’t know what the difference was.
After my degree I decided I didn’t like physics enough to continue and went back to school for a master’s in IT, since I’d enjoyed the programming class and it seemed like a good field job-wise. There I learned programming in a more normal way (starting with Java) and got better about self learning, including teaching myself Ruby using the first half of Why’s (Poignant) Guide to Ruby.
Since then I’ve continued learning through working as a programmer, through online resources (including Coursera which has some great courses), and through books. It was also helpful to have a smart programmer at my first company who was able to informally mentor me when I was new.
(Sorry for the long-winded answer, but I agree with you that’s it’s interesting to see how people really did something, not just how they’d recommend doing it).