Introduction
Why Elixir?
Elixir is a dynamic, functional language built on the Erlang VM (BEAM). It was designed for building scalable, fault-tolerant, distributed systems — and it does so with a syntax that feels clean and expressive.
- Functional — immutable data, first-class functions, and pattern matching everywhere.
- Concurrent — lightweight processes (not OS threads) communicate via message passing, making concurrency straightforward.
- Fault-tolerant — the "let it crash" philosophy and OTP supervisors enable self-healing systems.
- Extensible — macros let you extend the language itself; Phoenix, Ecto, and Nerves are built on this power.
The Story
Elixir was created by José Valim in 2011. Valim was a core contributor to Ruby on Rails who wanted the developer experience of Ruby with the performance and fault-tolerance of Erlang. The result was Elixir: a language that feels approachable but runs on a battle-tested runtime powering systems like WhatsApp (2 million connections per server) and Ericsson's telecommunications infrastructure.
Elixir 1.0 was released in 2014. Today it powers Discord, PagerDuty, Bleacher Report, and many other high-traffic applications.
What You Will Learn
This course has 15 lessons organized into 5 chapters:
- Foundations — Hello World, variables, atoms, strings, and numbers.
- Control Flow — Pattern matching with
=,caseexpressions,if, andcond. - Functions — Anonymous functions,
fnsyntax, capture&, modules,def, and the pipe operator|>. - Collections — Lists,
hd/tl,++, theEnummodule, tuples, and maps. - Functional Patterns — Recursion and multi-head function clauses.
All code runs entirely in your browser via a JavaScript transpiler — no installation required.