So, I know that Elixir is powerful and good at functional programming. The one thing I can't quite understand is <i>why</i> we would want to program everything as a composition of individual programs and applications, with supervisors and application trees and message passing and the like. It seems like a lot of overhead to accomplish something. Making everything asynchronous and detached makes things more complicated, not less.<p>I hear a lot about OTP and the "let it crash" mantra, but I just don't quite understand what's so great about it. Maybe it's just due to my problem domain (web development), but it doesn't seem like as big a draw to Elixir and Erlang as pattern matching and FP are.
Seems like this is mostly a bug fixing release. Solid stuff nonetheless. I recently learned Elixir and even though I came from an object oriented and imperative language background, I've fallen in love with the language. Switching back to others like JavaScript really leave me missing so many of the functional features, especially pattern matching. I think I've been spoiled.
What makes Elixir a sort of "perfect storm" is the combination of a battle-tested, corporate funded, philosophically correct language model and VM (Erlang/BEAM/OTP) combined with a syntax (Elixir) that's both beautiful and comprehensible to an average programmer.<p>Even if you loved Erlang, I'd argue the language is just too esoteric and jarring to most programmers to ever gain serious traction. I remember reading about Erlang's magic back in ~2007 (maybe [1]) and giving it a brief shot but deciding there was no way I wanted to look at that kind of code 8 hours a day. But coming from writing fairly FP-style Ruby/CoffeeScript/ES6-7, Elixir is feels only a step or two more down that path - in many ways actually conceptually simpler - and with enormous benefits.<p>[1] <a href="https://pragprog.com/articles/erlang" rel="nofollow">https://pragprog.com/articles/erlang</a>
Can someone explain why I should use Elixir instead of Erlang? I haven't used either, but from a very high level it seems that Elixir has a "magic" syntax like Ruby, where as much as possible is hidden from the user, whereas Erlang has a much clearer and more concrete syntax. Even though Erlang's syntax is not standard or traditional, as someone who's used neither neither language, I find it much easier to read and understand exactly what's happening.
Good stuff. I've started using Elixir and Phoenix in a new project (I wanted concurrency for making a lot of HTTP calls) and while functional programming does take getting used to (you can not write something like a counter that increments itself in a loop) it's been relatively easy to pick up. Compared to learning Node.js, it's been a more relaxed and productive experience (although maybe I'm not making a fair comparison because I've implemented way more things in Node that I have yet to try in Elixir.)
We have been looking for an Elixir code beautifier. If you are aware of one please let us know: <a href="https://github.com/Glavin001/atom-beautify/issues/545" rel="nofollow">https://github.com/Glavin001/atom-beautify/issues/545</a>
Why are redditors and ycombinators so annoying? A new version has been released and instead of discussing what is important and notable about this new release,you all go off on a tangent discussing the pros and cons of Elixir.<p>Why don't you guys take the discussion elsewhere so that interested readers can focus on what is new and relevant about this release? The subject of the post is about a new release,not about people showing of their knowledge and opinions about computer programming and languages etc.<p>It just makes this forums intolerable especially those which are about new releases new products etc.
having to put 'end' leaves bad taste, which is why i stopped learning ruby.<p>i learned lisp instead and now i'm learning lfe (lisp flavored erlang)<p>do i miss something by not learning elixir?