Don't miss an insight. Subscribe to Techopedia for free.


Erlang Programming Language

What Does Erlang Programming Language Mean?

The Erlang programming language is a general-purpose, simultaneous and garbage-collected programming language, which also serves as a runtime system. The sequential derivative of Erlang is a functional language with firm calculation, single assignment and dynamic data entry, which concurrently follows the Actor model.


Developed by Joe Armstrong in 1986, Erlang was first released by Ericsson as a proprietary language, then released in 1998 as an open source language.

Ericsson engineered Erlang to support distributed, fault-tolerant, soft-real-time and non-stop applications. Erlang supports hot swapping; thus code can be replaced without restarting the system.

Techopedia Explains Erlang Programming Language

In most languages, threads are viewed as complex error-prone areas. However, Erlang allows language-level development for the creation and handling of processes.

This is meant to simplify simultaneous programming for programmers. In Erlang, all concurrency is explicitly clear; processes exchange data through message passing rather than shared variables, eliminating the existence and need for locks. Erlang’s development concepts are much like the development of Erlang-built systems.

Mike Williams, an Erlang development team member and inventor, abides by the following philosophy:

The Best Working Techniques: Find the best working techniques, using prototyping through the developer's design. Skills

Not Just Ideas: Ideas are not enough. A developer must also have the skills to realize the ideas and verify that they work.

Minimize Errors: Keep errors to a minimum, preferably only during the research phase rather than during production.

A major advantage of Erlang programming language is its support for threading and concurrency with a small group of primitives efficiently generating and linking processes.

These processes are an Erlang application structure’s basic elements and freely employ the communicating sequential processes (CSP) model.


Related Terms