The Pragmatic Studio

Should I Learn Elixir?

May 10, 2017

It’s a smart question to ask. Few developers have time to add another programming language to their repertoire without a near-term need.

Elixir appears in a position to address a growing set of needs in our industry. For starters, interest in distributed, concurrent systems is on the rise as demand for online services skyrockets. The battle-proven Erlang VM is perfectly suited to build these types of systems.

Secondly, leading online services need to run continuously with no apparent downtime, across any time zone, and in spite of any software or hardware hiccups. Historically this has been a tall order and designing fault-tolerant systems is challenging with even the best tools. We need all the help we can get! Thankfully, fault tolerance is an intrinsic feature of Erlang and more accessible to us today by way of Elixir.

Here’s another thing you’ve probably noticed: the insides of our computers are changing. Your laptop’s CPU likely has at least 2 cores, and perhaps even 4 cores. The future of computing must take advantage of these multi-core computer architectures and the Erlang VM is designed to efficiently distribute work across all the available CPU cores. Imagine writing programs that actually use all those cores!

Finally, having spent decades primarily doing OO programming, learning functional programming with Elixir has made us better all-around programmers. We’re thinking differently about programming and learning Elixir has opened new worlds that we continue to explore. Most important: we’re have a lot of fun!