Erlang
erlang-logo.png
Appeared in 1986
Designed by Ericsson
Developer Ericsson
Typing discipline dynamic, strong
Influenced by Prolog
Influenced Clojure, Scala
License Modified MPL
Website http://www.erlang.org/

Quoting from Wikipedia:

Erlang is a general-purpose concurrent programming language and runtime system. The sequential subset of Erlang is a functional language, with strict evaluation, single assignment, and dynamic typing. For concurrency it follows the Actor model. It was designed by Ericsson to support distributed, fault-tolerant, soft-real-time, non-stop applications. The first version was developed by Joe Armstrong in 1986. It supports hot swapping so code can be changed without stopping a system[2]. Erlang was originally a proprietary language within Ericsson, but was released as open source in 1998.

While threads are considered a complicated and error-prone topic in most languages, Erlang provides language-level features for creating and managing processes with the aim of simplifying concurrent programming. Though all concurrency is explicit in Erlang, processes communicate using message passing instead of shared variables, which removes[citation needed] the need for locks.

With our words, some major advantages supplied by Erlang are listed below.

  • A full featured platform with fault-tolerance and millions of concurrent processes in mind. One can easily create a service distributed into two physically distinct machines. Creating millions of threads is just a routine while working on Erlang platform.
  • Code hot-swapping without stopping the system. (The only practical implementation of such a feature as far as we know!)
  • Bundled with OTP (Open Telecom Platform) libraries. (E.g. Mnesia distributed database server, etc.)

Reference Resources

Books

Other Resources

Communities

  • Official Erlang mailing lists.
  • TrapExit Erlang community website with articles, forums, mailing lists, wikis and cookbooks.
  • #erlang IRC channel at irc.freenode.net.
  • Planet Erlang

Editors

  • There is an erlang-mode for emacs that is brought by OTP by default.
  • Eclipse Erlang Plug-In: erlide.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License