Hacker News new | ask | show | jobs
by klibertp 4538 days ago
Erlang syntax is a) Prolog inspired and b) more than 20 (closer to 30) years old. While it generally gets the job done without much hassle, it's very possible to improve on it. The macro system you mention is the reason I'm going to give Elixir a whirl, despite being happy with Erlang otherwise.

Anyway, the situation of Elixir and Erlang looks more like JavaScript and CoffeeScript to me than like Java and Scala. Of course, Elixir is similar to Scala in terms of implementation - they both compile to bytecode instead of transpiling like CS. But the features Elixir brings to the BEAM are less groundbreaking and more practical, just like in CoffeeScript and unlike Scala, which transforms JVM so much that it's almost invisible.

There's a difference, too - JS is being reworked and Harmony will bring many improvements which Coffee has today, but I'm not aware of "next generation Erlang" being actively worked on (Joe Armstrong does erl2, but I don't know how active it is). So while there are people who don't use Coffee because "it will be in the standard in a year anyway" this argument does not hold true for Erlang and Elixir.

Just some random thoughts, I like them both and am actively learning Elixir while maintaining a project in Erlang (and I also like Scala!) and I hope they can both thrive. It's a symbiosis, really - Elixir brings a new wave of developers to Erlang, and Erlang gives a solid foundation to Elixir.

1 comments

Respectfully, I'm not sure I buy this comparison. Yeah, CoffeeScript adds some cleaner syntax and OO niceties onto JS, it's still basically just a higher level abstraction that get boiled down to JS. Elixir is a multi-paradigm language that that gets turned into the same type of byte code that Erlang does and is interoperable with Erlang. Its more like jRuby and Java both living on the JVM and being able to call Java code in jRuby, or maybe its a bit like ClojureScript and Clojure?