Why Erlang is the best concurrent language available
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 :-)
Because yaws is faster than apache under conditions of load.
Comment1: In the early days of Erlang Mike Williams and I discussed the
"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