Erlang is a general-purpose programming language and runtime environment. Erlang has built-in support for concurrency, distribution and fault tolerance. Erlang is used in several large telecommunication systems from Ericsson. Erlang is available as open source from http://www.erlang.org.
OTP (Open Telecom Platform) is a large collection of libraries for Erlang to do everything from compiling ASN.1 to providing a WWW server. Most projects using "Erlang" are actually using "Erlang/OTP", i.e. the language and the libraries. OTP is also open source.
Distributed, reliable, soft real-time concurrent systems.
Erlang is good at solving these sorts of problems because this is the problem domain it was originally designed for. Stating the above in terms of features:
The Erlang white paper examines the language in more detail from a technical point of view.
People use Erlang for all sorts of surprising things, for instance to communicate with X11 at the protocol level, but, there are some common situations where Erlang is not likely to be the language of choice.
The most common class of 'less suitable' problems is characterised by performance being a prime requirement and constant-factors having a large effect on performance. Typical examples are image processing, signal processing, sorting large volumes of data and low-level protocol termination.
Another class of problem is characterised by a wide interface to existing C code. A typical example is implementing operating system device drivers.
Most (all?) large systems developed using Erlang make heavy use of C for low-level code, leaving Erlang to manage the parts which tend to be complex in other languages, like controlling systems spread across several machines and implementing complex protocol logic.
The largest user of Erlang is Ericsson. Ericsson use it to write software used in telecommunications systems. Many (dozens) projects have used it, a particularly large one is the extremely scaleable AXD301 ATM switch. AXD301 has several hundred people working on it and the code volume has reached about 850 kloc of Erlang (and 1 Mloc of C/C++).
Some of the other companies using Erlang are
If you want to be listed here, send me some mail: matthias@corelatus.com
Many universities use Erlang at various levels. This list is far from exhaustive!
If you want to be listed here, send me some mail: matthias@corelatus.com
Several consulting companies provide support and training courses: Erlang-consulting.com , Sjoland and Thyselius and Process One.
Users within Ericsson can obtain support, printed manuals and binaries from www.erlang.se.