3 ms·
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.
- WalterSear 9y agoI start by finding simple code to read. Often, if I start with the books and classes, I'll end up more confused than if I just looked at examples and stumble myself through the code, and look up things that I don't understand. The 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.
- jlg23 9y agoIt depends.. 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.).