You have 1 article left to read this month before you need to register a free LeadDev.com account.
The 2024 Stack Overflow survey highlighted the rising stock of the functional, concurrent, and general-purpose programming language Elixir.
Created by José Valim and first released in 2011 – it’s taken until 2024 for it to rise to be the second-most desired programming language to learn according to the 65,000 respondents, just ahead of Zig and behind only Rust.
Elixir runs on the Erlang virtual machine – a foundation that gives it some significant advantages. Erlang was developed by Ericsson in the 1980s for telecommunication systems, and specifically designed to handle concurrent, distributed, and fault-tolerant systems – precisely the kind of challenges faced by modern web applications. What was an attempt to solve a curiously pressing problem in the 1980s means that Elixir is able to meet the demands of 2024 web development.
Beauty in simplicity
One of Elixir’s most attractive features is its ability to simplify complex systems, according to Bruce Tate, a prominent Elixir author and CEO of Grox.io. “The company-killing problems are the ones that you can’t do effectively with object-oriented languages,” he says. “You can’t get the reliability at high scale.”
But Elixir, particularly when used with the Phoenix web framework, offers what Valim calls “operational simplicity.” Web developers typically have to pick a programming language, then a database, then a message queue, then a service for authentication, one for storing objects, one for handling the message queue. “Everybody, when they’re starting a project, there’s so many decisions, there’s so much fatigue, and there are so many tools that you need to start managing at day one of the project,” says Valim. Elixir and Phoenix reduce the number of moving parts developers need to manage, allowing them to focus on writing application logic – rather than juggling multiple services and tools.
“You can park your head in one place on the server, and you don’t have to write JavaScript,” says Tate. Such a streamlined development process can significantly boost productivity and reduce the cognitive load on developers.
Yet the language is only used by around one in 50 developers, according to the Stack Overflow survey, and trending towards more senior developers. “We need to improve by making junior developers more welcome to the community,” says Valim. How to do that, he hasn’t yet figured out.
This scarcity also means Elixir developers are well-paid: at a $96,000 median salary, only Erlang developers earn more or average amongst the survey respondents.
While there are very few specialist Elixir devs out there on the market, the type of dynamic web applications Elixir shines at producing are in demand. “Think more of a Google Maps, than a Google search,” Tate says. “It’s not a form request response. It’s everything on a page.” Elixir’s concurrency model makes it ideal for handling numerous simultaneous connections, making it perfect for applications like chat systems, live updates, and interactive dashboards.
Reliably stable
Another major plus point for Elixir, says Tate, is its built-in fault tolerance and automatic restarts, which smooth over issues for developers working with it, often without any noticeable interruption to the end user. For businesses, this translates to increased uptime and reduced maintenance overhead.
It’s also expanding beyond web development into plenty of other areas. “Elixir is very, very efficient, because it’s so highly distributed,” says Tate. “It’s very efficient at moving data around, processing data, and manipulating it in a functional way.”
It’s also a prime language for the use case at the moment: generative AI. Three or four years ago, Valim and the Elixir team began working on AI tooling. “When some of the more famous models like Stable Diffusion came out, Elixir was the second high level language – the first language after Python – that was able to run those models natively on the GPU.”
But it’s the ease with which developers can make powerful products that stands out for Valim. Elixir attracts experienced developers who have faced complexity issues in other stacks, and want a simpler solution. “We keep everything simple,” he says.