12th International Conference on Coordination Models and Languages
Amsterdam, Netherlands, 7-9 June 2010
Joe Armstrong (Ericsson Telecom AB)
Erlang combines ideas from Agent programming, functional programming
and uses pure message passing concurrency to provide a substrate for
building reliable systems. In addition it provides several novel
techniques for error detection and correction, pattern matching over
binary data and has mechanisms for changing code in a running system
without stopping the system.
Erlang was designed in the mid 1980s and has been in use since the mid
90's powering several enterprise switching systems. About five years
ago, with the emergence of multicore computers it was realised that
Erlang concurrency model fitted well with modern multicores. This
together with a re-emergence of interest in functional programming
language has lead to a surge of popularity in the language.
This talk presents what could be called "the Erlang style
concurrency" - and explains what we believe to be important when
designing robust concurrent systems.
The talk will summarise what we have learnt in the last twenty years
and talk about some of the applications that have been built in Erlang
and why these applications have succeeded.
Joe Armstrong is the principle inventor of the Erlang programming
Language and coined the term "Concurrency Oriented Programming". He
has worked for Ericsson where he developed Erlang and was chief
architect of the Erlang/OTP system.
In 1998 he left Ericsson to form Bluetail, a company which developed
all its products in Erlang. In 2003 he obtained his PhD from the Royal
Institute of Technology, Stockholm. The title of his thesis was
"Making reliable distributed systems in the presence of software
errors." Today he works for Ericsson again.
He is author of the book "Programming Erlang: Software for a
concurrent world": (Pragmatic Bookshelf - 2007).