Why Elixir?

The main reason for me to love Elixir (and use it in Production!), is that Elixir is built with developers in mind:

  • In Elixir, the way to maintainable code usually coincides with the path of least resistance. (in many other languages, the path of least resistance would result in duct-tape solutions everywhere).
  • Elixir and most of its libraries have top-notch documentation.
  • Elixir has one of the best testing-stories out there.
  • Did I mention that hot-code-reloading is a lot of fun? ^.^

And secondarily, the ability to reason about concurrency and distributed systems by using the BEAM’s implementation of the Actor Model and supervision trees means that:

  • The parts of the system that depend on one-other and have to execute sequentially are made explicit.
  • The parts of the system that cannot function without one-other are made explicit.
  • Failure-handling is set up, such that the system is able to restore to a prior consistent state, and able to provide partial functionality until the system is repaired.
7 Likes