langwhy

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

garbage collectedmemory
dynamic typestypes
runs on a virtual machineruns as
actorsconcurrency

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

SlotFit
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

Evolution

Reacts to: erlang, Ruby

Weigh it against: erlang, Go, Ruby, Python

Timeline

Links

website · repo · PLDB

Sources

  1. https://blog.plataformatec.com.br/2015/01/introducing-elixir-radar-the-weekly-email-newsletter-about-elixir/
  2. https://erlef.org/blog/eef/behind-elixir-interview-with-jose-valim
  3. https://www.erlang-factory.com/euc2015/jose-valim
  4. https://erlang.org/pipermail/erlang-questions/2012-May/066994.html
  5. https://elixir-lang.org/blog/2014/09/18/elixir-v1-0-0-released/
  6. https://discord.com/blog/using-rust-to-scale-elixir-for-11-million-concurrent-users
  7. https://nerves-project.org/
  8. https://www.erlang-solutions.com/case-studies/bleacher-report-case-study/
  9. https://pldb.io/concepts/elixir.html

Unverified draft, 2026-10-30.Edit the facts · edit the story · JSON · Markdown