Erlang is a general purpose, concurrency-oriented functional programming language suited for fault-tolerant, distributed, soft real-time systems. It features strong dynamic typing, lightweight concurrency, eager evaluation and prolog like pattern matching. Erlang was developed in the 1980s at the Ericsson Computer Science Laboratory to address a then-unfulfilled need for telecommunications programming: a high-level, expressive language suitable for rapid development that offered the error recovery, concurrency, distribution and performance features required by telecommunications equipment.
Although its roots are in telecommunications, Erlang's unique features and extensive library make it suitable as a general-purpose programming language and well-suited to programming projects such as network servers, control systems and web development.
The Erlang language, together with an extensive library of applications and modules, a virtual machine and operating system, and a set of design principles establishing standard behaviors, comprise Erlang/OTP (OTP stands for Open Telecommunications Platform). Erlang/OTP is distributed as free software (under the Apache Public License) as well as a commercially supported version from Ericsson. Both distributions run on Microsoft Windows, VxWorks by Wind River, and many varieties of Unix.
- Kernel and Stdlib
- Design Principles
- Network Programming