Why Erlang is the best concurrent language available
Fri Jan 24 03:32:54 CET 2003
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.
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
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.
More information about the erlang-questions