Torben Hoffmann is CTO for Erlang Solutions. He has been active in the Erlang community for several years and has spoken at conferences world-wide. His first big Erlang related project was the introduction of Erlang as a technology to write a gateway in for Motorola Solutions in Denmark. Torben studied Engineering at the Technical University of Denmark.
The first encounter with Erlang is often a tough one since The Golden Trinity of Erlang - share nothing processes, fail-fast and failure handling - provides a mix of features not found in other languages.
In this talk we will spend most of the energy on how to design systems with asynchronous message passing between processes that do not share any memory.
Since processes are so cheap to create in the Erlang run-time one has to embrace designing with lots and lots of processes, which puts an emphasis on the interaction, or protocols, between the processes. For this we will look at Message Sequence Charts (MSCs) and enjoy how the protocols designed are easy to identify in the code.
Testing asynchronous message passing can be a bit tricky, but this talk will give a short intro how to do that with QuickCheck's mocking facilities.
We will also touch briefly on failure handling and how that influences the design of Erlang programs.
Talk objectives:
* Show how using asynchronous message passing and lots of processes can create good solutions in Erlang.
* Show how to work with protocols to describe the interaction between processes.
* Show how to test asynchronous message passing with QuickCheck.
Target audience:
Programmers who would like to get a good start on working with Erlang by embracing the idiomatic way of creating Erlang programs.