Why Erlang is the best concurrent language available

Joe Armstrong <>
Thu Jan 23 21:54:22 CET 2003

On Thu, 23 Jan 2003, Mikael Karlsson wrote:

> Thursday 23 Jan 2003 11:04 Joe Armstrong wrote:
> >   Projects fail because the SW does  not work and *not* because the SW
> > was too slow -  remember this and you will have a  long and happy life
> > as a programmer.
> >
> >   /Joe
> Ehhrm, so why do you show the Apache vs. Yaws comparison :-)
> http://www.sics.se/~joe/apachevsyaws.html

Because yaws is faster than apache under conditions of load.

Comment1: In the early days of Erlang Mike Williams and I discussed the
"fast-sexy-optimized-possibly-incorrect" vs. 
"build-it-like-a-tank-slow-but-it-works" dilemma. We decided to leave out 
*all* tricky optimizations and concentrate on the simplest possible 
solutions that were guaranteed to work - that's probably one reason why 
the compiler is so fast - it doesn't do many optimizations - Roberts new 
compiler followed in this tradition - I guess the Erlang compiler is 
orders of magnitude smaller than most Java/Haskell compilers :-)

Comment 2: In developing Erlang Robert and I had many discussions of the
form "should we add optimizations" - we always said "no, we'll carry on 
as we are and add them later if we need them." - we discussed dirty 
destructive updates for *years* and were even prepared to add them if 
necessary - we always thought that "one day we'll have to add them" but
since nobody had complained we left them out.

Comment 3: For years I didn't do performance comparisons between Erlang 
and C because I *thought* without measuring that Erlang would be slower 
than C and that the results would be embarrassing. When we made some 
measurements (like in Yaws) Erlang turned out to be faster than C - the 
same story is true for Oz - at SICS we do Oz vs. Erlang battles for
"who can do concurrency better" - amazingly *both* oz and Erlang are many 
orders of magnitude better than (Java/C#/C++/...) - we (at SICS) take 
this for granted (oh those languages ... *everybody knows that java 
concurrency sucks) - the *interesting* question is why is Oz better than 
Erlang or vice versa -  we (the Oz and Erlang implementors) know why our 
languages are better than Java etc. Now its just the problem of 
convincing the other 99.99999999% of programmers :-)


> Could it be that if you stay with Erlang your code will be fast enough,
> and faster than others in many cases. 
> But if you use Java for instance you might be lost both ways, it won't work
> and it will be too slow.

More information about the erlang-questions mailing list