Why Erlang?

Erlang is a programming language traditionally used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang’s runtime system has built-in support for concurrency, distribution and fault tolerance.

Some highlights of Erlang include:

High Availability/Reliability

  • Simple and consistent error recovery and supervision
  • Built-in fault tolerance
  • Software upgrade (hot code loading) during runtime


  • Run on a variety of platforms, supports heterogeneous networks.
  • Network aware runtime, out-of-the-box distributed architectures
  • Lightweight processes, highly scalable transparent or explicit concurrency
  • Transparent Multi-core Support

Less Effort

  • Functional programming language, high abstraction level, concise readable programs.
  • 4–20 times less code compared to C/C++/Java
  • Suitable for rapid prototyping
  • Powerful middleware and libraries (OTP)

For more information about the language features please visit erlang.org.

“The world is concurrent. Things in the world don’t share data. Things communicate with messages. Things fail”
– Joe Armstrong, father of Erlang