Elixir
Backend· alive, actively evolving· since 2012 · José Valim
Functional language for concurrent server applications that runs on the Erlang virtual machine (BEAM).
Draft from 2026-10-30, not yet checked claim by claim against its sources. Help verify it.
Born from
In 2010 José Valim, a member of the Rails core team, was working on Rails thread-safety guarantees and came out convinced that solving concurrency problems in Ruby was too hard to keep its philosophy of programmer happiness. He went looking at other platforms, found the Erlang VM and its concurrency and failure model, and at the beginning of 2011 his company Plataformatec agreed he could spend all his time building a new language on top of it.
What it trades away
Cost: Dynamic typing and the process model make CPU-heavy loops slower than in native languages, and OTP's supervision model is a second thing to learn.
Where it fits
| Slot | Fit | |
|---|---|---|
| server | ●●● | Discord's core services are written in Elixir. |
| embedded | ●●○ | Nerves builds production embedded systems on the BEAM and Elixir. |
| browser | ●○○ | Browsers still run JavaScript; Elixir sends updates to the page from the server. |
| mobile | ○○○ | Elixir has no mobile runtime; mobile apps use Swift, Kotlin or Dart. |
Why it exists
In 2010 José Valim was on the Rails core team, working on Rails thread-safety guarantees. His company later wrote that “because of that experience, he felt solving concurrency problems was too hard”, so hard that it was difficult to keep Ruby’s philosophy of programmer happiness while solving them (Plataformatec). He went to study other platforms and “fell in love with the Erlang VM”: its concurrency model and its failure semantics, which showed him how to write code that survives errors without being defensive. At the beginning of 2011 Plataformatec agreed he could spend all his time on a new language for that VM (Plataformatec). Valim has also said that the BEAM was the main reason he built Elixir (ERLEF interview). In May 2012 Elixir v0.5.0 was announced on the Erlang mailing list (erlang-questions).
What it trades away
Elixir gets Erlang’s process model and fault tolerance, and pays for it in speed on CPU-heavy work and in dynamic typing, where type mistakes show up at run time. OTP’s supervision trees are a separate model to learn before the language feels natural. The project’s own pitch is strongest for “message-oriented and web real-time systems” (Elixir), which is the region where the trade pays off. Outside it, a statically typed or native language is usually the better fit.
Where it won
Discord’s core services run on Elixir. Its 2019 post on scaling to 11 million concurrent users explains that the sorted set it needed for very large servers is written in Rust and exposed to Elixir as a NIF, so the core stays Elixir (Discord engineering). Nerves uses Elixir and the BEAM to build production embedded systems (Nerves). Bleacher Report moved its Team Stream app from Ruby to Elixir, according to a case study by Erlang Solutions, the consultancy that did the work (Erlang Solutions). That source is vendor-written, so its server figures are self-reported.
Named wins
- Discord, whose core services run on Elixir and which reported scaling it to 11 million concurrent users source
- Nerves, the open-source platform for production embedded systems on Elixir source
- Bleacher Report, which moved its Team Stream app from Ruby to Elixir source
Evolution
Reacts to: erlang, Ruby
Weigh it against: erlang, Go, Ruby, Python
Timeline
- 2010Valim works on Rails thread safety and concludes concurrency in Ruby is too hard source
- 2011Plataformatec agrees Valim can spend all his time on a new language for the Erlang VM source
- 2012Elixir v0.5.0 is announced on the Erlang mailing list on May 25 source
- 2014Elixir 1.0 is released, built on the Erlang VM source
- 2019Discord explains a Rust sorted set exposed to Elixir as a NIF, so its core services stay in Elixir source
- 2022Valim says in an interview that the BEAM was the main reason he built Elixir source
Links
Sources
- https://blog.plataformatec.com.br/2015/01/introducing-elixir-radar-the-weekly-email-newsletter-about-elixir/
- https://erlef.org/blog/eef/behind-elixir-interview-with-jose-valim
- https://www.erlang-factory.com/euc2015/jose-valim
- https://erlang.org/pipermail/erlang-questions/2012-May/066994.html
- https://elixir-lang.org/blog/2014/09/18/elixir-v1-0-0-released/
- https://discord.com/blog/using-rust-to-scale-elixir-for-11-million-concurrent-users
- https://nerves-project.org/
- https://www.erlang-solutions.com/case-studies/bleacher-report-case-study/
- https://pldb.io/concepts/elixir.html
Unverified draft, 2026-10-30.Edit the facts · edit the story · JSON · Markdown