Six-month-old web site Codecademy claims you can learn programming through its online tutorials. The free modules on JavaScript are now available. The site also allows anyone to post their own programming courses. The site has good funding, but question is: can you really learn programming this way? One blogger enthuses that Codecademy's approach "looks like the future of learning to me," while another slams it saying "Seriously? Wow, bull**** badging and sh**ty pedagogy wins the day in ed-tech investing." What do you think?

In college, I was a tutor for Java, PHP, Ada, and C. I saw two kinds of students.

The first kind of student was "tainted" by VB and Javascript and Python and Lua other such languages that are pooh-poohed - or mostly useful for hacking game interfaces. They were always doing things the hard way, doing things that would make a Proper Code Idealist blush. But they solved problems. When they asked me questions, they asked how best to break up problems, or how language A or library B handled case C. They didn't ask me to teach me the basics, they asked me to show them something they didn't know.

The second kind started learning programming when they bought their textbooks (if they bothered reading them). They never asked how langauges did things, or how to solve problems. They wanted to know why their Class Herp implementing Interface Derp didn't perform Function Gerp when they hadn't implemented the function in the first place. They wanted to know why the compiler didn't 'just know' things, and why they had to specify it. Unlike the first group, they followed coding best practices, but they wielded them like a magical talisman because their professor told them it'd work better that way - or like a golden ticket because their professor told them they would be graded on that. When they asked me questions, they asked me to repeat what had been told to them in class.

Codeacademy, and other sites like it, caters to the first kind of student. They'll have nasty habits, to be sure. But in the end, everyone who is a success in programming is self-motivated and doesn't wait around for permission from some magic guru to learn something.

Speaking personally: Hopefully, these students will also have the funding and freedom to be able to spend four to eight years of their lives working with other like-minded hackers, aggressively and single-mindedly seeking out new ways to expand their abilities and solve harder problems, the experience of those who have gone before making their path as painless and navigable as possible. But even if they don't go to college, it's that self-directed drive and impetus to learn that will determine their success.