

Ask HN: Why Erlang never got the mainstream status? - ved_a

Erlang is a twenty-five-year-old programming language that has yet to  win a popularity contest but has won many a hearts with its ability to  do things just right. Erlang has got almost everything right -  concurrency, functional programming, Garbage Collection, Network I/O,  etc. Still, Erlang never got the mainstream popularity and widespread  acceptance it always deserved. I wonder what might be the reasons
======
bjourne
Some reasons I can think of:

1\. Writing C extensions is a horrible experience. Also, they have to manually
yield priority so if they crash, the whole BEAM crash so the whole "fault
tolerance" propaganda becomes a lie.

2\. Erlang doesn't cooperate well with it's environment. Starting, supervising
and communicating with external processes correctly is tough in any language
but harder in Erlang.

3\. BEAM:s memory usage is hard to predict, so running multiple vm:s on the
same system can easily run you out of memory.

4\. It's hard to run Erlang code as standalone scripts. Points 2-4 address the
same issue which is that basically that Erlang's environment is a walled
garden.

5\. While Erlang is open source, it's mostly run by a group of developers at
Ericsson and doesn't have much of a community. For example, it doesn't have a
public bug tracker (maybe that have changed).

6\. It's syntax is, objectively, butt-ugly.

7\. Maybe most important: It is not a good fit for about 99% of all
programming problems which are mostly sequential and doesn't benefit at all
from rock-solid (Erlang) process communication.

