Aviva Directory » Computers & Internet » Programming » Erlang

Erlang is a general-purpose, functional programming language, with an emphasis on concurrency and high reliability, as well as a development environment, or code compiled to bytecode that runs inside of a virtual machine.

The term Erlang is used interchangeably with Erlang/OTP, which includes the Erlang runtime system, several components written in Erlang, and a set of design principles for Erlang programs. The components of the standard edition of Erlang include are its development tools, which include the compiler, debugger, profiler, and test frameworks, as well as its Open Telecom Platform (OTP) framework, web server, advanced tracing tools, and Mnesia database, which is a key/value storage system that can replicate itself on many servers.

Erlang was designed for Ericsson, a Swedish telecommunications company, in the mid-1980s with the intention of improving the development of telephony applications. The original version of the language was written in Prolog, and influenced by PLEX. The Prolog interpreter proved to be too slow, so work began on BEAM, the virtual machine that is currently at the core of the Erlang/OTP, part of the runtime system that compiles Erlang and Elixir source code into bytecode.

Erlang was originally proprietary software, developed by Joe Armstrong, Robert Virding, and Mike Williams, for Ericsson. In 1998, Ericsson changed its policies to give preference to non-proprietary software, announcing discontinuance of its use of Erlang in new products. Armstrong and others left Ericsson, and Erlang was open-sourced later that year, under the Apache Public License. Ericsson reversed its policies later and rehired Armstrong in 2004, and Erlang/OTP is maintained by the Open Telecom Platform unit at Ericsson.

Among the advantages of Erlang is its ability to develop software quickly and efficiently, to be able to update software on the fly, without halting execution. As compared to other languages, Erlang is tolerant of software errors and hardware failures.

Erlang has been used by several large firms worldwide, such as T-Mobile and Nortel, and is also used to power some MMORPG servers.

The language was influenced by PLEX, Prolog, Lisp, and Smalltalk. It has, in turn, influenced the design of Akka, Clojure, Dart, Elixir, F#, Opa, Oz, Reia, Rust, and Scala.

The focal point of this guide is on the Erlang programming language and other programs and tools within its ecosystem, such as compilers, IDEs, editors, and so on. Erlang user groups, forums, tutorials, guides, and related topics are also appropriate here.



Recommended Resources

Search for Erlang on Google, Bing, or Yahoo!