

Erlang is not a Concurrent Functional Programming Language - pufuwozu
http://www.javalimit.com/2011/05/erlang-is-not-a-concurrent-functional-programming-language.html

======
KirinDave
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.

~~~
jwilberding
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.

~~~
gte910h
Me too. Flagging the linkbait articles that practice the technique to help
stop it.

------
geoffhill
Author is mixing up Erlang with OTP. Erlang is a concurrent, functional
programming language. OTP is package of design patterns for building reliable
systems.

~~~
mononcqc
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.

------
asymptotic
"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.

