Erlang is a functional language, designed for use in real-time distributed systems. It's used within telecom networks, and is notable for simple message passing with lightweight independent processes.
Elevate your Erlang skills through 85 curated exercises across 0 core concepts. Master problem-solving with a structured learning path designed for modern developers.
Erlang is a functional programming language, used for creating real-time distributed systems, which can easily scale in size.
It's best for concurrent applications, such as instant messaging and banking platforms, as each function call has their own process and operates independently. This is useful as code can run for a very long time without issues occurring. Also, processes and message passing are all built into the language by default - no need for any extra libraries!
It was designed within Ericsson, a Swedish telecommunications company, for use in their networks, and is currently used inside telecommunication equipment.
Functional
Multi-clause functions with pattern matching and guards are the building blocks of Erlang code.
Dynamically typed
Erlang has no compile-time type checks, favoring run-time pattern matching.
Immutable
All data in Erlang is immutable, allowing for safer and easier-to-reason-about concurrency.
Concurrent
Erlang uses the actor model - shared-nothing concurrency via message passing.
Fault tolerant
Erlang runs in a VM known for running low-latency, distributed and fault-tolerant systems.
Flexible package manager
Can pull in both Erlang and Elixir packages, both public and private
Functional
Multi-clause functions with pattern matching and guards are the building blocks of Erlang code.
Dynamically typed
Erlang has no compile-time type checks, favoring run-time pattern matching.
Immutable
All data in Erlang is immutable, allowing for safer and easier-to-reason-about concurrency.
Concurrent
Erlang uses the actor model - shared-nothing concurrency via message passing.
Fault tolerant
Erlang runs in a VM known for running low-latency, distributed and fault-tolerant systems.
Flexible package manager
Can pull in both Erlang and Elixir packages, both public and private