Hacker News new | comments | show | ask | jobs | submit login
What's an effective way to learn a new programming language?
3 points by hotz 188 days ago | hide | past | web | favorite | 2 comments
You've got a "9-5" job and a family waiting for you at home. There's probably 2-3 hours of freedom, how would you use that time to learn a new language? With the idea of switching career paths - going from PHP to Clojure/Scala.



If you choose Clojure get

https://www.amazon.com/Clojure-Programming-Practical-Lisp-Wo...

and

https://www.amazon.com/Clojure-Cookbook-Recipes-Functional-P...

these two books are much better than the free documentation for learning how to "Think in Clojure". Expect to read them over and over again, maybe sitting on the bus, spinning at the gym, or any time you can.

Conceive of a cool demo that would get upvoted on HN, be put on your LinkedIn page, get talked about at an interview. Start with something small and scale up until it "clicks"

I would recommend Python as a practical language which I see customers asking for by name. Python has great libraries for making web sites and apps, as well as data analysis, graphing, "intelligent" applications involving machine learning, etc. Python lets you get the abstract syntax tree from the compiler and transform it, so LISP-style metaprogramming is convenient and mainstream.

I have been paid to write Scala and I do not think it is a better choice than Clojure, Python or even Java. C# is the best "better Java" at the moment, although Java is slowly catching up. If you want type systems and static metaprogramming that will blow your mind, learn the very latest in C++.


Udemy has good classes in general. Not sure about scala. Wait until they're on sale for $10- $15 and then buy a few.

I watch them in 1.5x - 2x speed and slow down only when needed.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: