Erlang

Erlang is a programming language originally created at telecommunications/electronics company Ericsson, beginning as a proprietary language used internally, but eventually released as open-source. The name could be interpreted as standing for "Ericsson Language", or else as a reference to Danish mathematician/engineer Agner Krarup Erlang.

Erlang is designed to be used for real-time processes, and is massively scaleable, supports threading and message-passing between processes, and has strong but dynamic typing.

One notable feature is the ability to "hot-swap" parts of a program system by introducing new versions of modules within the system while the system remains running uninterrupted. The Erlang runtime system temporarily maintains both the old and new versions of changed programs in memory and keeps running the old version until the process determines that it is safe to seamlessly switch to the new one. Anybody who has just had to restart Windows yet again after installing a new version of iTunes may understandably wish that all software worked this way.

Erlang also has fault-tolerance, in that there are many ways a program can crash, but it is good at picking itself up and starting up again afterward without lasting harm.

See also BEAM.

Links

 * Wikipedia article
 * Official site
 * Erlang: The Movie
 * Learn you some Erlang for Great Good! (free online book)