Hacker News new | ask | show | jobs
by bfung 2953 days ago
I think the approach to learning that new language is not correct.

Master Java. What I mean is, learn how OO can be used to solve a problem. Learn why immutable classes were advertised as a best practice. Don't learn Java-isms. Learn why this language has certain features, and learn how to use those features. You'll be a master when you can take that knowledge and learn another modern OO language in a week, easy. For example, Python and Ruby should be easy to learn after that.

Learn a functional language afterwards - clojure, F#, Ocaml, Haskell. You'll feel naked w/o the OO backing. Master one of them.

After that, all the programming languages become roughly the same, all with their own -isms.

Distributed systems and data Engineering are not programming language specific - they are concepts that can be implemented in any language.