Whenever I see someone that scoffs at Blub[1] because Blarb is 'so much better', I instantly think less of them as a developer.
In my experience, people like this spend all their time screwing around with esoteric languages and abstract debates about semicolons, and don't spend any time building anything of value anyway.
This isn't to say that you shouldn't learn Erlang, or Scala, or Haskell, or any number of oddball languages. Doing so makes you a better and more-rounded programmer. But the haughty attitude of 'Blub is better than Blarb' reeks of naïve fanboyism.
Every language brings something to the table, despite their drawbacks. Ruby is beautiful and a joy to work with. Python is powerful and has amazing libraries. PHP is easy to pick up and has a huge community.
Ignoring languages because they aren't 'purely functional', 'high performance', or 'mathematically correct' is hugely ignorant.
I'm starting to think "the right tool for the right job" is one of those 50s advertising things that was pushed by the tools industry. Like smoking making women look independent.
Erlang isn't superior just because its VM is faster and well-designed for high throughput.
It is superior because it is functional, which means, while it's possible, less state, less undefined behavior, less crashes, less bugs. Because it has efficient process-based execution model - easy scalable with less complication, less synchronization, less overhead.
It is superior because it is less verbose and more readable which is really matters for a language, not its runtime.
There are only two big problems with Erlang - there is no huge mediocre crowds with knowledge of language basics and some cowboy-coding experience gained from monkey-spaghetti-patching of some bunch of web-pages, and it has no hyped projects like adding libevent functionality to really good (no kidding!) in-browser VM. (hint: General purpose VM should be, at very least, SMP-aware).
He's dismissed as a troll, but I find his commit quite interesting. It allows you to compare a real world working program written in Javascript (a language I know) to the same thing written in Erlang (a language I don't know, but find interesting). A bit like those textbooks with on one side of the page the original Latin text, and the English translation on the other side.
Except that the new code does not really do the same thing at all. The JS code seems to be a SMTP mailer / client whereas the erlang code is clearly an SMTP server.
In my experience, people like this spend all their time screwing around with esoteric languages and abstract debates about semicolons, and don't spend any time building anything of value anyway.
This isn't to say that you shouldn't learn Erlang, or Scala, or Haskell, or any number of oddball languages. Doing so makes you a better and more-rounded programmer. But the haughty attitude of 'Blub is better than Blarb' reeks of naïve fanboyism.
Every language brings something to the table, despite their drawbacks. Ruby is beautiful and a joy to work with. Python is powerful and has amazing libraries. PHP is easy to pick up and has a huge community.
Ignoring languages because they aren't 'purely functional', 'high performance', or 'mathematically correct' is hugely ignorant.
[1] http://www.paulgraham.com/avg.html