Programming language tutorials shouldn’t be about learning languages. They should be about learning something interesting, and you learn the language in the process. But what do we get in programming tutorials? Hello World. Fibonacci sequences. Much important manipulation of “foo.”
This is why Michael Hartl’s Ruby on Rails Tutorial is as great as it is—it’s extremely “real world” in its approach. Not only did I learn a lot about Rails, I finally feel like I understand
git from that, and also Ruby’s
rvm version manager. (If you’re a Python programmer,
rvm is like Python’s
virtualenv except fiddly, arcane and very fragile.)
Conversely, as much as I enjoy Zed Shaw’s writing style, his Learn Code the Hard Way series “focuses on practice and rote repetition” and is exactly as exciting as it sounds. Given the kudos Shaw has gotten this must work really well for some people, but I’m not one of them.