Back in 2016 I learned the Elixir Programming language and had a blast. I hadn't used any functional languages up until that point so I was as green as green gets. I suppose that was intentional.
There's a certain smugness that functional programmers get when you discuss anything language-related. A practiced condescension they wear with great pride, like a yellow hat that only people who wear yellow hats could appreciate.
I don't like the color yellow very much (though it's in the following video quite a lot) and I don't wear hats. I don't quite have the right head for one - but I do like Elixir and despite it's functional roots, I found the community to be full of non-yellow-hat wearers.
You don't need to know what a functor is to use Elixir. Nor do you need to understand monads or mutexes. Eventually it's a good idea to get to know these things, but you can happily jump right in and splash around and no one will come at you with a jargon gun. At least that was my experience.
Elixir flexes the friendly, approachable, bubble-gumminess of Ruby to get around the general faffery of Erlang - all to great effect. You have the entire, mountainous gravity of the BEAM, Erlang's VM, running under the most elegant language I've ever used.
I know, I know. People waxxing on about their new language discovery can be annoying. But this, for me, was one of those "oh holy shit this is why people pay this much money for these shoes" moments. My brain just slipped right into this language and wiggled it's neurons happily... and yes, there was a learning curve, but my god... my god...
To top it off, it's one of the most scalable, powerful platforms you can use. What's not to like?
I was at NDC London in 2016 and decided to answer a question that I received oftent:
I hear you're really into Elixir these days. What's so great about it?
There are so many things... the video below is a 20 minute excerpt (edited down for time) from the talk I gave. The entire talk was about an hour but, to me, this clip captures the essence of why I like this language so much.
Hope you enjoy it!
Learning Elixir changed me as a programmer, and learning functional concepts changed the way I think about writing software. How about you? Is functional proogramming a useful thing to learn?
I've been using Ghost for many years and recently I decided to see just how far I could push it.