Sunday, April 10, 2011

3 Secrets to Teach Yourself Programming

These are three secrets I've learned that have made learning Ruby much easier than when I tried to learn Python.

1. Have Multiple books.
I have three books for Ruby and this allows me to look up my doubts in one in the others, plus I get totally different perspectives and order of priorities. I have two pdf ebooks (one of which I printed) and one physical book. They are: why's (poigniant) guide to Ruby, David Black's Ruby for Rails, and Satish Talim's Ruby ebook.

2. Don't Read in (strict) order
Jumping around can be useful as you can learn something while you jump around but also this allows you to approach topics that the author may think are hard but you find easier in a quicker way. The only book I'm reading in order is Talim's ebook. I read it mostly in order because the topics he presents build on each other but are not presented in order of complexity. In one paragraph he'll introduce a very hard procedure very quickly. On why's book I skipped a whole chapter (chapter five) but then back-tracked and now I'm half-way chapter five and six at the same time. David Black's book on the other hand is like my reference book. I read it completely out of order. With the result that it sometimes creates more questions than answers but the index makes it useful for that type or reading.

3. Search and Do online tutorials and Youtube videos.
I did two the Ruby4Kids tutorial (which is great) and one Hackety-Hack. These allowed me to get things done and have something to show rather quickly. Which is very motivating. Once you know enough to understand what's going on Youtube videos can give you a good insight or overview into areas you haven't explored like this cool video on Ruby on Steel for Visual Studio (pricy!).

Contrast this with my experience with previous books like (The C Programming Language, Teach yourself C++ (out of print from the 1990s), Learn how to program using any web browser (Javascript), and Learning Python) where having only one book to rely on made it much harder to get doubts and questions answered. Programming is not like math where it builds on a linear fashion, programming is like being a mechanic, if you don't understand the motor you can study the carburetor and get insight into the motor.

No comments:

Post a Comment