
Elixir – Erlang didn't change, the world did (2017) - mindB
https://tomjoro.github.io/2017-01-31-world-changed/
======
mindB
I'm not a user of Elixir or of Erlang. I stumbled upon this article, and I'm
now thinking about giving it a try. The "guns" analogy was an interesting
take, and I wanted to hear what HN thought.

~~~
The_suffocated
The author does have a point. Data immutability is nice and it does make your
program safer. But that "guns" metaphor is cliché. One may also say that
Erlang is more dangerous because it is not statically typed. I don't think
crediting/discrediting a language based on simply one language feature is
justified. (Actually, Erlang has mutable data too if you use mnesia, ets or
the like, but you may just opt not to use them.)

In the article's chart, the author also classifies Go as one of the most
dangerous languages. Now I'm a novice Elixir programmer and I don't know Go,
but if Go were really so dangerous, I should have heard many horror stories
about it (you see, Go is a vastly popular language, much more so than Erlang
and Elixir combined). Yet, while you can find a significant number of articles
criticising how primitive Go as a language is, those "shoot yourself in the
foot" type of complaints are surprisingly few (especially if you compare the
situation with C or C++). I think this tells us something about Go's safeness.

And he says that "To an Erlang programmer Haskell is an impractical language".
I wonder how many Erlang programmers out there would be so snobbish. I have
only dabbled with Haskell, but my impression is that Haskell is an
unbelievably clean language (at least when compared to OCaml or Elixir), to a
point that if I write a Haskell program, I would be very confident that what
I've written is exactly what I intended in mind. How is that impractical?

If you really want to see some in-depth discussions about Erlang, I recommend
the following two interviews:

1\. Joe Armstrong and Simon Peyton Jones discuss Erlang and Haskell
([https://www.infoq.com/interviews/armstrong-peyton-jones-
erla...](https://www.infoq.com/interviews/armstrong-peyton-jones-erlang-
haskell))

2\. Ralph Johnson, Joe Armstrong on the State of OOP
([https://www.infoq.com/interviews/johnson-armstrong-
oop](https://www.infoq.com/interviews/johnson-armstrong-oop))

