HackerTube.live
Books / Functional Programming

THE READING ROOM / BOOK GUIDE

Programming Erlang

Joe Armstrong

A working introduction to Erlang for programmers who need many lightweight processes to cooperate, built around small examples and the reasoning behind the language's design.

About the book

Programming Erlang: Software for a Concurrent World teaches the language through the problems it was built to solve. Joe Armstrong, one of Erlang's original designers, treats concurrency as the organizing idea from the first page. The book moves from basic syntax and functional programming habits into processes, message passing, error handling, and the patterns that let systems keep running when parts fail.

The material is practical. Examples tend to be short programs that demonstrate a mechanism, then get extended. Recursion, pattern matching, and immutable data appear early because Erlang depends on them everywhere. Later sections address building distributed and fault-tolerant applications, along with the tools a working Erlang programmer uses. Armstrong writes as an engineer explaining decisions, so language features arrive with reasons attached.

The subtitle signals the book's stance: concurrency shapes the design from the start. That makes it a record of a particular approach to software, not a neutral survey of language features.

How to read it

Read with a keyboard nearby. The examples are compact enough to type and run, and the concepts stick better when you watch a process send and receive a message yourself. Pause at the process model and supervision ideas; they carry more weight than any single syntax detail.

The prose is plain and occasionally dry, and the book assumes you already program in some language. Expect to work through code rather than skim explanations. If you come from an object-oriented background, give the immutable-data and pattern-matching sections extra time before pushing into distribution.

Who it suits

Programmers building or maintaining concurrent, fault-tolerant systems will find the most value here, especially those who want the reasoning behind Erlang's design from someone who helped shape it. Developers curious about functional languages with a concrete industrial purpose will also get a grounded tour. Beginners to programming should look elsewhere first.

Reading considerations

The 2008 edition reflects Erlang as it stood then, so some tooling and library details may have moved on; check a later edition or current documentation before relying on version-specific instructions. Treat the book as a guide to Erlang's model and idioms, and verify present-day practice separately.

Follow the HN conversation

69 different recommenders are recorded in the upstream dataset. These are AI-classified source counts, not an independent rating.

Search HN comments about this book ↗

Explore videos on the same subject ↗

Book notes prepared with DeepSeek, using catalogue records and Open Library subject information. They are reading guidance, not a personal review or a verified chapter-by-chapter account. Book details can vary by edition. HN data methodology · Book metadata and covers.