Joe Armstrong is an Expert System Developer at Development Unit Radio Systems and Technology and a long-time employee of Ericsson. He joined the company in 1985 and within a year had developed an early version of Erlang.
Armstrong designed Erlang with the aim of improving the development of telephony applications by creating a language better tailored to its needs. The initial version of Erlang was influenced by the programming language PLEX – used in earlier Ericsson exchanges – and was implemented in Prolog.
"PLEX had come to the end of its useful life," Armstrong says. "It was a language that was created in 1976. For its time, it was brilliant but things had happened in computer science that had invalidated PLEX and better ways of programming were being discovered."
Over the coming years a small team of Ericsson researchers, including Robert Virding and Mike Williams, helped Armstrong further develop and improve the language.
"We wanted to tailor a program language for telecom systems and the results became this programming language that we now know as Erlang," Armstrong says. "Eventually, hundreds of thousands of people would begin using it but that wasn’t our aim initially. We simply wanted to create something to replace PLEX to program the AXE system."
According to Armstrong, the language went from lab product to real applications following the collapse of the next-generation AXE-N exchange in 1995. As a result, Erlang was chosen for the next ATM exchange, AXD.
Originally a proprietary language within Ericsson, Erlang was eventually released as open source in 1998. Since then Erlang has been adopted by companies worldwide, including Nortel and T-Mobile. Erlang is used in Ericsson’s support nodes, and in GPRS, 3G and LTE mobile networks worldwide.
"At Ericsson we now use Erlang as a backbone to LTE," Armstrong says. "Many smartphones are connected for data transfer using Erlang software."