What is Erlang and where it runs

Contents
What Erlang is
Where Erlang runs
Why learn Erlang
Born at Ericsson

What Erlang is

Erlang is a dynamic functional language created by Joe Armstrong, Robert Virding, and Mike Hayakwa at Ericsson in the 1980s. You write plain text files, and the Erlang runtime runs them with no manual memory management.

Everything in Erlang is a term, and terms flow through the system as messages. Data never changes in place: functions take values in and return new values out, which makes programs easier to test and to reason about line by line.

io:format("Hello from Erlang~n") # prints Hello from Erlang 2 + 2 # gives 4

Where Erlang runs

Erlang runs on Linux, macOS, and Windows, so one script can travel between machines with almost no changes. Developers use it for messaging backends, chat servers, telecom gear, and databases.

The language and its virtual machine, called BEAM, are packaged together as OTP, the Open Telecom Platform. A running Erlang program is a forest of tiny processes that talk by messages.

exit(normal).

Why learn Erlang

Erlang teaches habits that transfer to other languages: immutable data, small functions, and failures that stay local. The error messages point at the exact line that needs attention.

Ruby also teaches habits that transfer to other languages: objects, methods, blocks, and tests. Many teams still build products with Ruby on Rails, while others use plain Ruby for scripts and DevOps tasks.

Born at Ericsson

Ericsson needed switches that survived software bugs without a reboot, so the language grew three rules: never share state, let processes fail alone, and restart the broken part only.

Matz designed Ruby for programmer happiness, and the community motto says it well: Matz is nice and so we are nice. Code should surprise you as little as possible and read from top to bottom with ease.

Next: Install Erlang and check the version

Article author: Arthur Isaev

Related articles
Erlang
Erlang course: zero to hero in 50 lessons
What is Erlang and where it runs
Install Erlang and check the version
erl: the interactive shell
Your first Erlang script
Variables and single assignment
Numbers
Atoms
Strings and binaries
Truthiness: only false and nil
Conditions: case and if
Recursion replaces loops
Lists
Tuples
Maps
Functions and clauses
Pattern matching
Guards
Records
Exceptions: try and catch
Modules, exports and imports
Funs: anonymous functions
Higher-order functions
Keyword lists
Erlang idioms and clean code
Rebar3 builds
Testing with EUnit
Debugging
Encodings and Unicode
Time and date
JSON and term formats
Processes and message passing
Spawn and links
Monitors and exits
GenServer
Supervisors
OTP applications
Files and IO
Sockets
HTTP clients
io:format and output
Let it crash: error handling
ETS tables
Timers and timeouts
Code loading
Distributed Erlang
Capstone: todo CLI
Capstone: TCP server
Performance
Modern Erlang tour
Hero roadmap: the whole course on one page
Install Erlang on Windows 11
Install Erlang on Ubuntu
Install Erlang on Rocky Linux
Install Erlang on macOS
Install Erlang on FreeBSD
Erlang in Docker

Search this site

Channel @aofeed Chat @aofeedchat

Contacts and cooperation:
I recommend our hosting beget.com
Write to info@aredel.com if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: