What is the "let it crash" philosophy in Elixir?
Answer
The "let it crash" philosophy is a fundamental Elixir/Erlang design principle: instead of writing defensive code to handle every possible error, allow processes to fail and rely on supervisors to restart them in a clean state. In most languages, errors must be caught and handled at every level to avoid crashing the entire application. In Elixir, each process is isolated — a crash in one process does not affect others. Supervisors monitor processes and restart them according to a strategy. Benefits: Simpler code: happy path only, no defensive checks for unlikely errors. Correct recovery: a fresh process starts with known-good initial state — better than continuing in a potentially corrupted state. Fault isolation: failures are contained and recovered automatically. Real-world example: if a database connection process crashes, the supervisor restarts it with a fresh connection — users of the system may see a brief error but the system self-heals. This philosophy has produced telecom systems with 99.999% uptime records.