Why Erlang is the best concurrent language available

Joe Armstrong joe@REDACTED
Fri Jan 24 12:57:46 CET 2003


On Fri, 24 Jan 2003, Daniel Dudley wrote:

> James Hague wrote:
> > Joe Armstrong wrote:
> > > 
> > > I never said "write dumb code" - to me beautiful code
> > > is clear, concise and does *exactly* what it is
> > > supposed to and *nothing* else with a minuimum of
> > > fuss. It usually ends up being faster than ugly
> > > code - that's because God likes your code if it's
> > > beautiful.
> > 
> > Oh, I didn't mean to imply that you said to write dumb code--
> > my apologies for that--but I think the typical reaction to
> > what you consider "beautiful" code, at least from many
> > programmers, is that it's horribly inefficient.  If you really
> > stop and think about what's going on in some Erlang programs,
> > like "I build up this list backward, then I reverse it at the
> > end, creating an entirely new copy of the list," then it
> > *sounds* pretty appalling.
> 
> Well, it is appalling. Knowing that recursion "winds up"
> before it "winds down", why do it twice when once will
> suffice? (Hey, I'm a poet but didn't know it!) :-)
> 
> > But that reaction is out of context.
> 
> Really? Try adding some costs, ie money, to the operation.
> To most businesses, profitability is the driving context.
> 
> > When your frame of reference involves hundreds of millions or
> > billions of cycles per second, with multiple machine
> > instructions executing per cycle, well, that's the stuff of
> > fairy tales. It's all so meaningless.  I say to go ahead and
> > make use of all that nonsense to make things wonderful and
> > understandable, not an intangible savings of thousands of
> > cycles here and there.
> > 
> > :)

  Business  people say  that  the  most important  thing  is "time  to
market"  -  that's why  you  should use  Erlang  (if  the language  is
appropriate for you problem)

  The Bluetail idea  was "use Erlang to get  products to market before
the competition" - the idea worked - and we made tons of money.

  Nortel  is now  cranking out  products  in Erlang  quicker than  the
opposition.

  Now luck  comes in to  the equation -  have Nortel chosen  the right
products? - all other things  being equal companies using Erlang will
slaughter  companies using  Java and  C++  - Just  like C  slaughtered
assembler.

  It is  commercial pressure that will  cause Erlang to  succeed - now
this might not happen with Erlang -  bit it will happen one day with a
language in the Erlang/Prolog/Haskell/Miranda/... school.

  The funny thing is the suits say "give us time to market" - but they
are scared when you deliver ...
 
  The management  wet-dream is to use  employ Apes give  them "me too"
technology and produce "world class innovate products" - forget it. If
you want to be first to market you have to do something "different" to
all the rest.

  Easy, use a better technology than the competition.

> 
> If an operation can be made more efficient, the result of
> which is an increase in turnover without an increase in
> costs, then inherent lack of efficiency *is* appalling. In
> other words, the opportunity to process more paying
> customers in the same time frame -- without adding to your
> costs, is hardly meaningless to the average businessman or
> -woman.
> 
> That said, everything is relative; compared to other
> systems on the market, the Erlang way may not appear so
> meaningless. ;-) Should one rest on one's laurels? Well,
> no, because the competition is catching up.

Great - let's have a fight

/Joe




More information about the erlang-questions mailing list