Elixir is a functional language that crosses many boundaries. With a syntax borrowing heavily from Ruby, a runtime that is on the Erlang BEAM, a macro system like that in Lisp and a streaming library like you might find in Haskell, Elixir borrows the best features from many environments.
Elixir borrows from Erlang’s Let It Crash philosophy, and adds in significant improvements with structs, first-class hygenic macros, and abstractions such as protocols.
Still, Elixir is approachable because of it’s fantastic documentation, clear error messages, and excellent tooling. Many of these ideas were borrowed from other communities such as Ruby, and they make a big difference in language adoption.
In 2011, José Valim was working on a research project for Plataformatec. The long-time Ruby core team member wanted to build a language that was better at solving the problems we was finding at his consultancy. In 2014, the movement began to pick up steam, and the first ElixirConf was held in Austin, Texas.
In 2015, the Phoenix web server began to pick up speed with the publishing of Programming Phoenix, and several shocking benchmarks showing Elixir’s incredible scalability.
As Elixir continued to grow, more libraries and frameworks were added to the platform. The Nerves platform allowed Elixir on embedded systems. The Scenic framework allowed a native user interface.
Today, Elixir is among the more popular functional languages, with many deployments from successful commercial companies such as Bleacher Report and Cars.com.