Ask HN: How do you learn a new programming language
If you already know couple of popular languages such as Python, Java, C and you want to start learning a new language, say Elixir, how would you start.
Would you go bottom up: follow a book or online tutorial and start from very basics. Or would you top down: start with a project and then lookup how to do things.
2 comments
[ 3.6 ms ] story [ 13.3 ms ] threadThe next step is setting up a build process so I can hello world.
From then, it's time to figure out why I wanted to learn the language in the first place, and tackle something that gives me that.
case a) I already know the basic concepts (say "imperative" or "object oriented"). Then I skim over a few tutorials, the documentation of the standard library and some style guides. Then I build something I don't have to think about so I am not distracted by the task itself (once upon a time it always was a simple blogging software, nowadays it is a rudimentary httpd).
case b) I don't know the basic concepts. Then I get the best book about it and go from there. This takes considerably more time and is nothing I'd do if I had to use the language professionally soon. (I spent about 1.5 years reading On Lisp and Common Lisp the Language in the little time a 80h/week job in a startup left me, several times re-reading parts until it finally "clicked" when I could recognize functional concepts in my own perl code. Only then I started to write code in CL.).