![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/0/04/Erlang_logo.svg/640px-Erlang_logo.svg.png&w=640&q=50)
Erlang (programming language)
Programming language / From Wikipedia, the free encyclopedia
Erlang (/ˈɜːrlæŋ/ UR-lang) 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.[5]
![]() | |
Paradigms | Multi-paradigm: concurrent, functional, object oriented |
---|---|
Designed by |
|
Developer | Ericsson |
First appeared | 1986; 38 years ago (1986) |
Stable release | |
Typing discipline | Dynamic, strong |
License | Apache License 2.0 |
Filename extensions | .erl, .hrl |
Website | www |
Major implementations | |
Erlang | |
Influenced by | |
Lisp, PLEX,[2] Prolog, Smalltalk | |
Influenced | |
Akka, Clojure,[3] Dart, Elixir, F#, Opa, Oz, Reia, Rust,[4] Scala, Go | |
|
The Erlang runtime system is designed for systems with these traits:
- Distributed
- Fault-tolerant
- Soft real-time
- Highly available, non-stop applications
- Hot swapping, where code can be changed without stopping a system.[6]
The Erlang programming language has immutable data, pattern matching, and functional programming.[7] 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, and Mike Williams in 1986,[8] but was released as free and open-source software in 1998.[9][10] Erlang/OTP is supported and maintained by the Open Telecom Platform (OTP) product unit at Ericsson.