The story
Around 2010, José Valim — a Brazilian engineer and a member of the Ruby on Rails core team — was trying to make Rails perform well across multiple CPU cores. The experience left him convinced that Ruby was not built for the concurrency that multi-core machines demanded. So he went looking at how other runtimes solved the problem, and found Erlang: a language whose virtual machine, the BEAM, had been running fault-tolerant telecom systems since the late 1980s, built around cheap isolated processes and message passing.
Rather than adopt Erlang's unfamiliar syntax wholesale, Valim started writing a new language on top of its virtual machine — one with a friendlier, more expressive surface, real metaprogramming, and full access to everything Erlang already offered. He made the first commit on 9 January 2011, as a research project at the consultancy Plataformatec. The first public release, v0.5.0, was announced on 25 May 2012; the language reached a stable v1.0 on 18 September 2014, which brought macros, protocols, and the Mix build tool. A new minor version has shipped roughly every six months since.