Ask HN: Learning New Programming Languages
I know I am not the only one interested in learning new languages and I find myself dabbling in a few at the moment. However I struggle to get the feeling that I make any progress. I scroll through tutorials where they describe what variables are or how to create a list already knowing these basic concepts.
I can breeze past the simple things but when it comes to advanced concepts in a language, I sometimes get the idea that I glossed over something I should not have. In the end I want to start writing a project right away and skip over your "Hello, World" material.
How do you all handle learning a new language and becoming comfortable with it?
12 comments
[ 4.8 ms ] story [ 34.8 ms ] threadAfter a couple of tutorials you really need to break out and try something on your own. I got quite proficient in C++ by specifically using it in programming competitions such as those hosted by TopCoder or CodinGame. I wasn't in the competition for the top score I was there to learn. I knew about core C/C++ syntax but not much about the standard library. Now I do, as I needed to quickly use the stdlib to get the data structures I needed to solve the problem.
You might want to experiment with different types of projects, for example a little webserver, webscraper, games or general tooling for whatever problems you encountered before (I tend to write desktop cleaning programs a lot).
Maybe you can find inspiration in this book:
https://pragprog.com/book/btlang/seven-languages-in-seven-we...
https://www.coursera.org/course/progfun
If you don't know C, or Python or Ruby, there's always "The hard way" with Zed Shaw:
http://learncodethehardway.org/
October 2, Coursera is abain offering Dan Grossman's Programming Languages, it covers general concepts in programming language design using SML, Racket, and Ruby.
https://www.coursera.org/course/proglang
If you cannot write a simple application in the language without resorting to documentation/google you are not at the level where you can easily learn and apply the more advanced concepts.
Get a good beginners book that contains plenty of exercises to work through. If the language contains mainly familiar concepts then you should be able to complete the book and its exercises within a day or two and feel comfortable using the language.