By Joe Armstrong
##A History of Erlang
Erlang was designed for writing concurrent programs that “run forever.” Erlang uses concurrent processes to structure the program. These processes have no shared memory and communicate by asynchronous message passing. Erlang processes are lightweight and belong to the language, not the operating system. Erlang has mechanisms to allow programs to change code “on the fly” so that programs can evolve and change as they run. These mechanisms simplify the construction of software for implementing non-stop systems.
This paper describes the history of Erlang. Material for the pa- per comes from a number of different sources. These include per- sonal recollections, discussions with colleagues, old newspaper ar- ticles and scanned copies of Erlang manuals, photos and computer listings and articles posted to Usenet mailing lists.