AstonJ
Why Elixir?
It’s been a couple of years since we’ve had a thread like this, so here’s the 2018 edition ![]()
- Why are you using (or loving!) Elixir in 2018?
- Which resources do you recommend that do a good job of highlighting the benefits of Elixir?
Most Liked Responses
AstonJ
I’ll start with something that is fresh in my mind - the opening chapter (and preface) to Programming Phoenix ![]()
It made the hairs on the back of my neck stand up!
You can read both the preface and the introductory chapter for free!
Here are some of the topics it covers:
- Rails Developers Seeking Solutions
- Dynamic Programmers Looking for a Mature Environment
- Java Developers Seeking More
- Erlang Developers Doing Integrated Web Development
- Heat Seekers
And…
- Speed
- Concurrency
- Beauty
- Simple Abstractions
- Effortlessly Extensible
- Interactive
- Scaling by Forgetting
- Processes and Channels
- Reliable
Obviously these are with Phoenix in mind - but then, Phoenix itself is the perfect tech to showcase the draw and power of Elixir ![]()
If you’ve not read these chapters you are truly missing out!
Read them for free here:
dwahyudi
Why are you using (or loving!) Elixir in 2018?
- Power of Erlang (functional, BEAM, OTP).
- Joy of Ruby (friendly syntax, Phoenix framework).
- Pipes (Believe me or not, Elixir helps me write better Ruby code as well, as ‘transforming data’ really makes me think in better intent to separate codes into more approriate subroutines, I no longer writes tons of codes in a single subroutine in the first try, Rubocop and Credo make more sense to me now).
- Optional typespecs.
- Developing Phoenix Framework app is crazy fast, tests run like F1 racing cars. If you code Rails before, you know this is a game-changer.
- Not specific to Elixir, but
FallbackControllerin Phoenix is really nice to have.
Which resources do you recommend that do a good job of highlighting the benefits of Elixir?
Every videos from Elixirconf.
Qqwy
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.









