Elixir

/eh-LIK-ser/ · noun · Development · Origin: 2011

Definitions

  1. A functional, concurrent programming language built on the Erlang VM (BEAM) designed for building scalable, fault-tolerant applications. Elixir combines Erlang's battle-tested concurrency model with Ruby-inspired syntax and modern tooling, making it popular for real-time web applications and distributed systems.

    In plain English: A programming language built for apps that need to handle tons of users at once, like chat systems or live dashboards.

    Example: We handle two million concurrent WebSocket connections on a single Elixir node — try doing that with Rails.

Origin Story

A magical potion brewed on top of the Erlang VM

Jose Valim was a core contributor to Ruby on Rails who grew frustrated with Ruby's concurrency limitations. In 2011, he began exploring the Erlang VM (BEAM) and realized its concurrency model was extraordinary, but Erlang's syntax and tooling were showing their age.

He created **Elixir** -- a modern, Ruby-inspired language that runs on the BEAM virtual machine. The name evokes an **alchemical elixir**: a magical substance that transforms base metals into gold. Valim was transforming Erlang's powerful but austere runtime into something approachable.

Elixir brought modern features like metaprogramming, polymorphism via protocols, and the Mix build tool to the Erlang ecosystem. The Phoenix web framework proved that Elixir could handle millions of WebSocket connections on a single server, inheriting Erlang's legendary reliability.

Coined by: Jose Valim

Context: Brazil, 2011 (released 2012)

Fun fact: Valim has said he chose the BEAM VM because it was the only runtime he found that made him feel 'safe' about deploying concurrent code. Phoenix's channel system famously handled 2 million simultaneous WebSocket connections in a benchmark.

Related Terms