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