Poll HN: Java vs Erlang, is Erlang worth learning?

1 points by keefe ↗ HN
I don't think I have to extol the virtues of Erlang to this community, but it is probably worth mentioning that Java has a pretty sophisticated concurrency library in 1.5 and 1.6. At my job and in my personal project, I'm using Java. We all know that maintenance is the bulk of effort and the question that arises is that given 10 years of experience in Java and the java.util.concurrent libraries, is Erlang so awesome that it is worth learning to integrate and if so, under what circumstances? Adding Erlang would add additional complexity and dependencies and so basically is it so efficient that the decreased cost per concurrent user justifies the additional cost and risk?

2 comments

[ 277 ms ] story [ 3031 ms ] thread
You have two questions in your post:

1. Is Erlang worth learning?

2. Is Erlang worth integrating into my project?

The answer to #1 is most definitely yes. The answer to #2 may or may not be - I don't know enough about your business to make the call.

Oftentimes, the real reason to learn a new language is that it changes the way you think about programming in your existing languages. It may not be worth switching your company over to a new and untried language, but it's probably worth learning the techniques that gave rise to that new language. You can and probably should do Erlang-like programming in Java; it's just that it'll be syntactically more verbose and perhaps not as finely performance-tuned (though the performance gains of using HotSpot vs. BEAM will probably make up for that).

Yes Erlang is: 1. so much faster to execute 2. much faster to code with 3. much faster and easier to maintain your code definitly 4. much smaller size of effective code compared with Java 5. MOST IMPORTANTLY: Erlang has the ability to adjust your running code and patch your system while it is up and running! and maintain versioning for your patches dynamically, this means that you're guaranteed 99.99% of systems availability. Erlang is a pioneer in Soft Real Time computing. Virtually systems written in Erlang never go down. it has been designed for the telecom sector at the beginning and was tested rigorously for that at Ericsson Labs.

hope this helps..