Hacker News new | ask | show | jobs
by cppsnob 5362 days ago
The thing I never understand about these articles: why aren't C, Java, C++, C#, Ruby, Python and other mundane languages "worth checking out?"

I don't think you should assume people have used all of these, and they're all worth "checking out". Millions of people use these languages every day to create 99% of the software you're using right now. Maybe it's worth a shot if you don't know one of them to learn one and maybe even get a job with it. There's a lot more opportunity to learn Ruby and get a job in it than there is for Scala.

3 comments

I think it is more assumed the many programmers know or are familiar with those languages. I know Java and Python. I have some limited experience with C, C++, & C#. I looked at Ruby. I would assume the majority of current programmers are in a similar situation.

The draw of these other languages like Factor, Io, Erlang, Haskell, and the other is that they are different. Erlang focuses on concurrency in a way that is not seen in the common languages listed above. Haskell is strongly typed functional language with lazy evaluation (I think I have that right). I don't know where Factor and Io fit it. By learning these other languages, I would hope to learn different ways to solve problems or to think about things. I would argue it isn't about learning them for more opportunities, but for a broader perspective in general.

Those mundane languages tend be pretty isomorphic. It doesn't teach you anything to learn a new skin on the same old ideas.
The only reason to move from Java to C#, say, is if C# offers a library or tool Java doesn't, which is something external to the language. This is less true for Perl-to-Python moves, but Perl and Python aren't that different, either. You can bring the same conceptual toolkit to all of those mundane languages and get most of the same things done in the same amount of time.

Moving from any of those languages to Haskell or Erlang is going to turn your brain inside-out for a while and when the learning process is done you'll likely approach every other language a bit differently. That is a good reason to learn those languages.