While researching for an upcoming presentation, I have been trying to compile a list/summary of differences between Erlang and Elixir and how they relate to each other.
There are a few questions in particular that I find interesting:
What are the biggest differences between Erlang and Elixir?
As a true superset of Erlang, what does Elixir bring to the table in addition?
Does Elixir enable certain things which are not possible in Erlang, or vice-versa?
Are there certain things which are more difficult in Erlang than in Elixir, or vice-versa?
Would you ever choose to use Erlang over Elixir? If so, in which contexts and why?
I have some thoughts of my own on these subjects that I would like to share, but I would like to hear what you all think without priming/biasing your thoughts with my own from the onset.
Thanks! That thread didn’t show up in my results when I was checking for similar threads before posting. I’ve seen conversations about these topics in various talks and blog posts here and there and I thought it might be useful to gather all the relevant info in one thread/summary so that it is easier to find and consume.
Oh… yeah. Good question. In theory, if the tagging, navigation and search are doing their job, then I suppose an “FAQ section” shouldn’t be necessary. Sometimes (as in this case) I was searching for the wrong words and not finding the already existing threads on the same topic.
I think you should be very careful when comparing syntax. What people think is a “nicer syntax” is often one which is similar to what they are used to, rather than one which is nicer/better in a more objective sense. There is nothing wrong with this but you should be aware of it.
For example, I think the elixir syntax is full of weirdness which I have not seen in the other languages I have used (and, yes, there have been quite a few) so I definitely don’t find it nicer. Also the erlang syntax is definitely simpler, more concise and more consistent as syntaxes go. Whether you find it nicer depends on your background and what you are used to.
Yes, I agree with that completely. Personally, I actually like Erlang’s syntax as well
In this thread I was thinking to compare more than just syntax. As was pointed out in this other thread (which was specifically about syntax), syntax might be the least important factor to compare. I was hoping to broaden the discussion a bit to get an overview of more important differences.
Yes, syntax wars are seldom productive or fruitful.
A couple years ago I wrote a series of blogs on various differences (some obvious, some quite subtle) that I found when working on a transpiler. Some syntax related (inasmuch as it relates to the corresponding ASTs), but also differences related to scoping, operators, guards, metaprogramming, etc. Might be of interest. http://daniel-azuma.com/articles/family-ties/