My Road to Erlang (2008)
prog21.dadgum.com
prog21.dadgum.com
I think Erlang is an uncommon language in that it seems to be foundationally constructed to build things. The FP isn't a philosophical experiment or a research project so much as a necessity to wrangle state reliably in distributed actors.
It is a language and probably most importantly a runtime/VM that was born out of industry and it has some very powerful properties.
I keep returning to this on beamrad.io, I'm impressed by the pragmatism in Erlang. And I think the also very pragmatic but much more marketing-savy and dev experience-focused Ruby culture feeding into Elixir is a pretty sweet mix.
I think both Scala and Clojure sit in this camp as well.
Shame, it’s good stuff.
Anyway, here’s to elixir ;)
Edit: I would say tho learning erlang made me a better developer, it changed my brain in some kind of irrevocable way and I would recommend it to anyone even if the skill itself isn’t so useful professionally
At least this has probably improved since then.
Functional languages born out of theoretical concerns and commentary tend to prioritise the art of the possible, not the art of the needed.
His point - and I've only ever dabbled with Erlang, so can't attest whether he's right or not - is that as a functional language born out of real industrial practice, Erlang prioritises other things that interest him more.
He makes a compelling case. Most Erlang programmers do. And unlike proponents of many other languages they can point to decades of industrial success.
Those tutorials of other languages can't. They exist because they can, and that's fine, but if you're building stuff salaries - maybe even lives - rely on, maybe those accoutrements are more distraction than essential feature.
Pragmatic languages and theoretical languages (that may or may not be pragmatic).
As a "working" developer I've always preferred pragmatic languages (the more advanced Pascals back in the day, C#, TypeScript etc) over the theoretically "beautiful" languages.
Of course the barriers are permeable and we often get the useful parts from the theoretically beautiful languages eventually and that's great - I trust the creators of the pragmatic languages to apply taste to which features we eventually do get.
Not "How I did this product in C++", rather how I mastered template meta-programming and SFINAE to build this gorgeous data structure that picks an element in under 5ms using 10KB max. /s.
So FP is not alone in this kind of stuff.