Erlang (ˈɜrlæŋ ) is a general-purpose, concurrent, functional high-level programming language, and a garbage-collected runtime system. The term Erlang is used interchangeably with Erlang/OTP, or Open Telecom Platform (OTP), which consists of the Erlang runtime system, several ready-to-use components (OTP) mainly written in Erlang, and a set of design principles for Erlang programs.
The Erlang runtime system is designed for systems with these traits:
*Highly available, non-stop applications
*Hot swapping, where code can be changed without stopping a system.
The Erlang programming language has immutable data, pattern matching, and functional programming. The sequential subset of the Erlang language supports eager evaluation, single assignment, and dynamic typing.
A normal Erlang application is built out of hundreds of small Erlang processes.
It was originally proprietary software within Ericsson, developed by Joe Armstrong, Robert Virding