Person

Joe Armstrong

1980s–2019

Joe Armstrong
Programming Languages Distributed Systems Telecommunications

Joe Armstrong (1950–2019) was a British computer scientist who created Erlang and pioneered fault-tolerant distributed programming. His work at Ericsson established principles for building systems that handle failure gracefully.

Creating Erlang

Armstrong joined Ericsson’s Computer Science Laboratory in 1986 to work on programming language research. The goal was to find better ways to program telephone switches—systems requiring extreme reliability and the ability to update without downtime.

”Let It Crash”

Armstrong’s key insight was that trying to handle every possible error creates complexity that itself causes failures. Instead, Erlang programs are designed to crash cleanly and restart automatically:

“The right way to design the system is to accept that things will go wrong and to design for that.”

Design Philosophy

Armstrong articulated principles that influenced distributed systems:

PhD and Book

Armstrong received his PhD in 2003 with a thesis on “Making reliable distributed systems in the presence of software errors.” His book “Programming Erlang” became the standard introduction to the language and its philosophy.

Legacy

Armstrong remained active in the Erlang community until his death in 2019. His ideas about fault tolerance and distributed systems continue to influence software design, particularly in systems requiring high availability.

Why You Should Care