The January/February 2020 issue of acmqueue is out now
Subscribers and ACM Professional members login here
Erlang for Concurrent Programming
Designed for concurrency from the ground up, the Erlang language can be a valuable tool to help solve concurrent problems.
Jim Larson, Google
Erlang is a language developed to let mere mortals write, test, deploy, and debug fault-tolerant concurrent software.1 Developed at the Swedish telecom company Ericsson in the late 1980s, it started as a platform for developing soft realtime software for managing phone switches.2 It has since been open-sourced and ported to several common platforms, finding a natural fit not only in distributed Internet server applications, but also in graphical user interfaces and ordinary batch applications.
Erlang’s minimal set of concurrency primitives, together with its rich and well-used libraries, give guidance to anyone trying to design a concurrent