Erlang Overview
-
Mainly designed and developed by Joe Armstrong at the Swedish company Ericsson in 1986.
-
Started as an experiment in "adding concurrency to Prolog".
-
Named after the Danish mathematician Agner Krarup Erlang (1878-1929) or as the abbreviation of Ericsson Language (because of its heavy use inside Ericsson). This ambiguity was deliberately encouraged.
-
Released as Open Source Software in 1998.
-
Supports distributed, fault-tolerant, non-stop applications.
-
Programming paradigms supported: functional and concurrent.
-
Other characteristics: strict evaluation, single assignment, and dynamic typing.
-
Concurrency is explicit using processes and message passing. Most other languages use shared memory threads for concurrency, but they are considered complicated and error prone (due to race conditions and deadlocks).
Reference:
Joe Armstrong.
A History of Erlang.
Proceedings of the third ACM SIGPLAN conference on History of Programming Languages (HOPL-III).
San Diego, California; June 9-10, 2007.