Hacker News new | ask | show | jobs
by derengel 4286 days ago
Don't know or have plans to use Elixir for now since I have always seen the Erlang VM as tackling only the problem domain of requiring high fault tolerance and distributed computing systems but no so much for general purpose programming as languages like ruby/python/js/clojure etc. For example: how may programmers are writing systems like Riak, Amazon's SimpleDB, CouchDB, RabbitMQ every day?

That said, from reading the article you forgot to mention Hex, the package manager.

3 comments

Whether you - as a programmer writing them - realize it or not, many complex web apps would benefit greatly from Erlang concurrency, distributed computing and fault tolerance support. Every time I'm forced to use Celery or multiprocessing or a cronjob - and that happens quite often in nontrivial projects - I wish I worked with Erlang.

I learned to love Erlang some time ago and its various quirks are mostly invisible to me, as I generally know them well and am working around them reflexively. However, I recognize that for people who don't know Erlang yet, Elixir provides a much easier path to obtaining full power of Erlang VM and ecosystem. It can also benefit more experienced erlangers, as it improves some Erlang features and then adds some totally new ones.

Elixir is a language which makes Erlang better suited to high-level, glue-like scripting purposes, while still providing full access to things Erlang does exceptionally well. In a way it's an effort to make Erlang reach outside of its specific niche by making many things traditionally hard or unpopular in Erlang easy to do in Elixir.

In short, if you're a serious programmer who works on anything that has a server or is related to network in some way (which includes all web apps, most mobile apps backends, all IM software, many different services like Dropbox and many more) - you owe it to yourself to try Elixir out. Now that the "awkward syntax" and many (admittedly) irritating quirks of Erlang are gone and you're left with just the good parts you have really no reason not to learn and use it.

> I have always seen the Erlang VM as tackling only the problem domain of requiring high fault tolerance and distributed computing systems

I think the reason for Erlang and Elixir's increase in adoption is that a lot of modern day Web applications have these same needs. Don't you want your web application or mobile app to handle failure in a way that doesn't bring the entire system down, and be scaled across several nodes easily?

Elixir runs on the Erlang VM, and has all of the same attributes of fault tolerance and distributed computing.

The point about a lot of quality applications being in Erlang is well taken, though the interop is effortless.