Skip to Main Content
In the previous issue, the author disclosed the concurrency features of Erlang, a programming language created at Ericsson more than 20 years ago for implementing telecommunications systems with stringent reliability, distribution, and uptime requirements. In this paper, the author explains that Erlang's concurrency primitives provide more than just a fast way to create threads. They also enable parts of an application to monitor other parts - even if they're running on separate hosts across the network - and restart those other parts should they fail. Erlang's libraries and frameworks take advantage of these capabilities to let developers build systems with extreme availability and reliability.