Ask HN: Why should I learn a new programming language?
Basically, I know I want to learn more languages and skills, but they don't always seem practical or relevant to me personally. What are your opinions? Thanks so much for any feedback!
Basically, I know I want to learn more languages and skills, but they don't always seem practical or relevant to me personally. What are your opinions? Thanks so much for any feedback!
So from a very utilitarian perspective, language doesn't matter. However, that's like saying "I can use a square peg for a round hole, just give me a sledge hammer".
Clojure, for example, makes concurrency an idiomatic part of the language. In Java, C# or most other mutable OOP languages, that's very much not the case. However, if you seek the utmost concurrency performance on the JVM (and you know how to do it correctly), Java might be a good option for you.
So it really depends on what your problem domain is. From my experience, application backend web dev is a perfect fit for Clojure with current hardware since you're most likely utilizing multiple threads in one process. Erlang is also a good language to explore, especially OTP and the way it handles distributed concurrency (the "let it fail" model).
2) Learning something new and unfamiliar will at the very least expand your horizons, which rarely hurts.
Personally, I'm with nostrademons. I learned a bit of Prolog and APL, but learning how to write parsers and use tools like ANTLR and PLY has been more useful.