Erlang, the Hidden Gem: Solving Problems at Scale for 30+ Years • Francesco Cesarini & Preben Thorø

Discover the advantages of Erlang, a 30-year-old language solving scalability problems for industries like telecom, IoT, and automotive, with its unique approach to concurrency, fault-tolerance, and virtual machine design.

Key takeaways
  • Erlang was first developed in the late 80s by the Computer Science Laboratory at the University of Lund, Sweden.
  • Erlang is a programming language designed to solve the scalability issues of telecom switches.
  • The language itself is rarely changed due to its conservative nature.
  • OTP (Open Telecom Platform) is a middleware that abstracts away from concurrency models and provides a way to abstract from error handling.
  • Erlang’s goal is to provide fault-tolerant and scalable systems.
  • OTP is built on top of the Beam virtual machine to facilitate and hide complexity from the programmer.
  • Erlang is used in industries such as telecom, IoT, and automotive.
  • Erlang’s approach to concurrency is different from that of Java, where it’s focused on just-in-time compiler and concurrency handling.
  • Erlang’s virtual machine is optimized to scale on multi-core architectures.
  • Erlang’s concurrency model is process-based, where processes do not share state or memory.
  • Erlang’s supervision trees provide a way to manage processes and handle failures.
  • Erlang’s fault tolerance is achieved by isolating and terminating failed processes and supervisors.
  • Erlang is used in various industries, including IoT, automotive, and telecom, and is being adopted in edge computing and deep learning applications.