I talk about
- The Background and Philosophy behind Erlang
- Erlang - the technology
- I discuss the major commercial successes of Erlang.
- Future problem areas
Background and Philosophy
Erlang is a concurrent programming language with a functional core.
Process creation and message passing in Erlang is extremely
light-weight compared to the threads implementation in, for example,
pthreads, java or C#.
Erlang is the most widely used functional programming language used
for real-commercial applications.
In this talk I talk about "Concurrency Oriented" programming and
I argue that concurrent programs are easier to write and understand
than sequential programs.
I argue that concurrent programming is perceived as difficult only
because of the terrible implementation of threads in mostly operating
systems and languages.
I argue that concurrency is the "natural" way to structure complex
Erlang - the technology
I talk about Erlang (the language) OTP (the libraries) and
the Open Source Erlang release.
I give examples of simple Erlang programs which solve traditionally
"hard" problems, for example: Changing the code in a server "on the fly"
i.e. while operating the service.
I give an example of a fault-tolerant server with redundant and hot
Commercial Successes of Erlang
I discuss a number of commercially successful products which use the
Erlang technology - these include:
- The Ericsson AXD301 and GRPS systems
(The Ericsson AXD301 is an ATM switch with over 1,7 Million lines -
of Erlang - it has a faulty tolerant architecture - and has achieved
"9 nines" reliability in a test performed by British Telecom)
- The Nortel SSL accelerator
I discuss the future problem areas where I expect interesting
developments in distributed computing. In particular:
- Erlang for peer-to-peer computations
- Erlang for secure agent computing