Learning by Creating vs Learning by Books

Creator of Erlang, Joe Amstrong, posted a very nice message on the Erlang mailing list[1] in response to a post asking about ways to get started programming. The message is gracefully written and can be understood by anyone who has put in atleast some effort to learn about programming.

After playing with the compiler or interpreter for a while, he suggests buying decent a book and typing out programs from it. I respectfully disagree. Books and scientific papers were the only source of technical bytedom. But these ways, you can learn anything you want without books. Just google a few tutorials and you'll find a lot of get-started-in-10-minutes web pages trying to teach you X language. I strongly suggest googling one of these and skimming through it.

True, that these anything-in-10-minutes pages won't teach you much, but it does teach you enough to create something. I've always emphazised on creating stuff rather than just going through a book and typing out programs you find somewhere. The fun of creating something on your own is always a better learning experience. You beign to challenge your conventional knowlegde, against the way a task is done in a language's syntax. For example, people who come from an imperative languages background might feel a bit alien while trying out funcitonal languages. But when you try to search stuff on the net as to why you aren't able to do something, you begin to learn more, with reasons as to why something doesn't work the way you expected it to. You find such reasons on StackOverflow, or atleast that's where I find a lot of explanations :)

Creating is what constitutes better learning.

[1] You can find Joe Amstrong's message on the mailing list http://erlang.org/pipermail/erlang-questions/2011-July/059966.html

Posted
Views