6 comments

[ 2.8 ms ] story [ 12.3 ms ] thread
Interesting article, but the worst title ever. Erlang is a functional, concurrent programming language. It reduces all non-trivial programs to actor-model concurrency, with an implementation that does green threads multiplexed over native threads. If you ignore this fact, your programs will either be very slow or very wrong.

What we might sell it as is an interesting and fair question, but to say it is not a thing which it clearly is, that's wrong.

I agree. Using a lie as the title of an essay in order to grab attention is kind of silly. I wish the trend would stop.
Me too. Flagging the linkbait articles that practice the technique to help stop it.
Author is mixing up Erlang with OTP. Erlang is a concurrent, functional programming language. OTP is package of design patterns for building reliable systems.
The limit between Erlang and OTP is really thin. For example, the code server, the bit of running processes in charge of loading new modules in the VM, is a gen_server, an OTP component. Same with the standard library, kernel and whatnot, which are all OTP applications, loaded with the OTP framework. If you dig deep enough, the dependency becomes rather circular.
"con·cur·rent    [kuhn-kur-uhnt, -kuhr-] –adjective 1. occurring or existing simultaneously or side by side: concurrent attacks by land, sea, and air. "

In conjunction with:

Inside the Erlang VM with focus on SMP http://www.erlang.org/euc/08/euc_smp.pdf

"Measurements from a real telecom product showed a 1.7 speed improvement between a single and a dual core system.

It should be noted that it took only about a week to port the telecom system to a new OTP release with SMP support, to a new Linux distribution and to a new incompatible CPU architecture, the Erlang code was not even recompiled.

It took a little longer to get the telecom system in product status, a few minor changeswas needed in the Erlang code because Erlang processes now can run truly parallel which changes the timing and ordering of events which the old application code did not count for."

Besides the awful grammar, QED. I rest my case: Erlang, and not just Erlang OTP, is concurrent (think of it this way: spawn_link() isn't restricted to OTP). I think it's quite clear Erlang is also a functional language. Please refute with references.