Description #
Erlang is a functional, concurrent language designed for building scalable, fault-tolerant systems with high availability, often used in telecom, messaging systems, and real-time applications.
History #
Erlang was developed in 1986 at Ericsson by Joe Armstrong, Robert Virding, and Mike Williams. Originally a proprietary language for telecom switches, it was open-sourced in 1998, quickly gaining traction for systems requiring massive concurrency and fault tolerance.
Hello World Code #
-module(hello).
-export([start/0]).
start() ->
io:format("Hello, World!~n").
How to Run #
Option 1: Online
https://www.tutorialspoint.com/execute_erlang_online.php
Option 2: Local
Install Erlang from https://www.erlang.org/downloads
Compile and run:
erlc hello.erl
erl -noshell -s hello start -s init stop
Key Concepts #
- Functional programming with strong immutability
- Lightweight, isolated processes (millions possible)
- Message-passing concurrency
- Fault tolerance via supervision trees
- Hot code swapping (no downtime updates)
- Pattern matching and recursion-centric logic
- Interpreted REPL shell (
erl
) - Designed for distributed systems
- Runs on BEAM virtual machine
- OTP (Open Telecom Platform) standardizes libraries and practices
Try It Online #
https://www.tutorialspoint.com/execute_erlang_online.php
Fun Facts #
- WhatsApp backend was originally built in Erlang, handling millions of connections with minimal hardware.
- The BEAM VM can run Erlang, Elixir, and other languages built for concurrency.
- Erlang’s “let it crash” philosophy revolutionized fault-tolerant system design.
Resources #
Official Site
Docs & Tutorials
GitHub Repository
Erlang School of Excellence