What is Erlang written in?
What Erlang is used for
Erlang was built at Ericsson for telecom switches that must never go down, so it excels at massively concurrent, fault-tolerant, distributed systems with hot code swapping.
Notable software: WhatsApp's messaging backend, RabbitMQ, and telecom infrastructure worldwide.
Quick Facts
- Designed by
- Joe Armstrong
- Developer
- Ericsson and Robert Virding
- First released
- 1986
- Typing
- dynamic
- License
- Apache Software License 2.0 and Erlang Public License
- Filename extension
- .erl
- Website
- www.erlang.org
About Erlang
Erlang is a programming language. It is a dynamically typed and garbage-collected language that compiles to bytecode that runs on a virtual machine. It supports functional and concurrent programming. Compiling to bytecode for a virtual machine is the same model the JVM and .NET use: the VM, not the CPU, interprets or JIT-compiles the bytecode.
Erlang first appeared in 1986 and was designed by Joe Armstrong at Ericsson. Erlang keeps a steady, moderate following today.
How Erlang is implemented
In the Language Lineage dataset, Erlang is self-hosting, so its own compiler is written in Erlang itself and its runtime is implemented in C. Reaching self-hosting, where a language is mature enough to compile itself, is a milestone that proves the language can handle a large, real-world program.
Erlang in the language family tree
Erlang drew on ideas from Prolog and went on to influence Elixir, Rust, Gleam, and Pony.
Sources: Wikipedia · Wikidata · Official site
Frequently Asked Questions
Evidence Sources
- https://github.com/erlang/otp
- https://elixir-lang.org/
- https://elixir-lang.org/blog/2013/08/08/elixir-design-goals/
- https://en.wikipedia.org/wiki/Rust_(programming_language)
- https://gleam.run/
- https://en.wikipedia.org/wiki/Erlang_(programming_language)
- https://en.wikipedia.org/wiki/Elixir_(programming_language)
- https://en.wikipedia.org/wiki/Pony_(programming_language)
- Erlang on Wikidata (Q334879)