Generated by GPT-5-mini| Erlang/OTP | |
|---|---|
![]() Unknown authorUnknown author · Public domain · source | |
| Name | Erlang/OTP |
| Paradigm | Functional, concurrent, fault-tolerant |
| Designer | Joe Armstrong, Robert Virding, Mike Williams |
| Developer | Ericsson, OTP Team |
| First appeared | 1986 |
| Typing | Dynamically typed |
| License | Apache License 2.0 |
Erlang/OTP Erlang/OTP is a programming language and runtime system designed for building highly concurrent, distributed, and fault-tolerant systems. Originating at Ericsson and shaped by engineers such as Joe Armstrong, Robert Virding, and Mike Williams, it integrates a functional language with the Open Telecom Platform to support soft real-time telecommunication infrastructures. The platform influenced and interacted with projects and organizations including WhatsApp, RabbitMQ, Cisco Systems, Facebook, and Amazon Web Services.
Development began in the 1980s at Ericsson to address telephony and switching challenges encountered during projects like the AXE telephone exchange and work for carriers such as Televerket. Early implementations were concurrent with research at institutions such as KTH Royal Institute of Technology and collaborations with engineers from Lund University and Uppsala University. Erlang’s creators published initial descriptions alongside contemporaneous systems like UNIX-based toolchains and trends exemplified by Smalltalk, Lisp Machine, and the Ada language. Key historical milestones intersected with technology shifts involving GSM, ISDN, and standards promoted by ITU-T. Over time, ecosystem events connected Erlang/OTP to companies and projects including Ericsson AXD301, WhatsApp, T-Mobile, Skype (architecture discussions), and open-source communities like GitHub.
The language was designed concurrently with a virtual machine and runtime environment influenced by virtual machines such as the BEAM architecture and earlier concepts from Prolog and ML families. Its functional syntax and immutable data structures echo influences from Lisp and Haskell practitioners and academic work at Chalmers University of Technology. The runtime supports lightweight processes scheduled by a BEAM-like virtual machine, garbage collection strategies comparable to research from Sun Microsystems and IBM Research, and hot code swapping used in critical systems developed by NASA and ESA projects. Language semantics and standard libraries evolved through contributions from organizations like Red Hat and research groups at MIT and Stanford University.
OTP bundles frameworks for building systems analogous to component models found in CORBA and EJB but tailored to telecom-grade requirements. Core OTP components include the supervisor and application behaviours, generic server abstractions, and tools for releases and upgrades used in deployments at Telefonica, Deutsche Telekom, and Vodafone. The component set integrates with build and packaging systems similar to Makefile workflows and continuous integration practices at companies like Google and Microsoft. OTP conventions for behaviors and modules influenced middleware patterns used at Heroku and Salesforce.
Concurrency is implemented with lightweight processes, message passing, and isolation reminiscent of actor models used by systems such as Akka and theoretical work by Carl Hewitt. Fault tolerance leverages supervision trees and "let it crash" philosophies aligned with fault-model research at Carnegie Mellon University and University of Cambridge. These patterns enabled high-availability services at providers like WhatsApp, PagerDuty, and T-Mobile USA, and informed resilience practices referenced in case studies by Amazon and Netflix engineering teams.
The ecosystem includes tools for building, testing, and deploying systems, with package management and CI integrations popularized alongside platforms like Docker, Kubernetes, and orchestration tools from HashiCorp. Open-source projects such as RabbitMQ, Ejabberd, CouchDB (integration examples), and libraries on Hex.pm illustrate community contributions. Corporate adopters and research groups at Facebook AI Research, Google Brain, and ETH Zurich have interfaced Erlang/OTP systems with machine learning and distributed databases.
Primary use cases span telecommunications, messaging, database clusters, and real-time systems deployed by operators like Ericsson, Telefonica, AT&T, and Verizon. Messaging platforms including WhatsApp and brokers such as RabbitMQ and Mosquitto share lineage with OTP design choices. Financial trading systems at firms like Goldman Sachs and Morgan Stanley have explored Erlang/OTP for low-latency routing, and industrial control systems at companies such as Siemens and ABB have used OTP for fault-tolerant controllers. Research deployments and standards work involve collaborations with European Space Agency and NASA mission software teams.
Performance characteristics emphasize high concurrency with predictable latency, often contrasted with systems built on Java Virtual Machine languages like Java and Scala, actor frameworks like Akka, and asynchronous ecosystems exemplified by Node.js. Benchmarks in messaging throughput and latency have been published by entities including University of Cambridge Computer Laboratory and industrial labs at AT&T Labs showing scalability in many-core environments comparable to optimized C++ and Go deployments. Comparisons also reference database and persistence integrations similar to PostgreSQL and Redis architectures in distributed contexts.
Category:Programming languages Category:Distributed computing Category:Telecommunications software