Elixir Explained: Fault-Tolerant Code That Never Stops
Introduction Most languages crash when something goes wrong; a failed process takes down the request, or the server. Elixir, released in 2011 and built on the Erlang virtual machine (BEAM), was designed by telecom engineers who could not afford crashes: phone switches must run for years without stopping. Its answer is "let it crash" — isolate failures in tiny processes, supervise them, and restart only what failed. That philosophy now powers chat systems, real-time apps, and the Phoenix web framework, and it changes how you think about reliability. Processes, messages, and supervision Elixir's model is built on the actor model: Processes — extremely lightweight (thousands per megabyte), isolated units of execution that communicate only by sending messages, never by sharing memory. A process crash affects nothing else. Supervision trees — supervisors watch worker processes and restart them on failure, with strategies: restart one, restart all, or restart in order. Fa...