GOTO Berlin is a vendor independent international software development conference with more that 60 top speaker and 400 attendees. The conference cover topics such as Java, Open Source, Agile, Architecture, Design, Web, Cloud, New Languages and Processes.

Robert Virding, Co-inventor of Erlang

Robert Virding

Biography: Robert Virding

Robert Virding is one of the co-inventors of Erlang and a founding member of the Ericsson Computer Science Lab. He developed the original system design, wrote the current compiler and contributed many of the original libraries. While at the lab, he also worked on the implementation of logic and functional languages and on garbage collection. With Joe Armstrong and Mike Williams, he co-authored Concurrent Programming in Erlang, the first Erlang book published by Prentice-Hall. He is also a co-founder of the first Erlang start-up, BlueTail, acquired by Nortel Networks in what was at the time the largest Swedish private company acquisition. Robert works as a principal language expert at Erlang Solutions, is active in research, and in this role regularly teaches and gives presentations at conferences worldwide.

Twitter: @rvirding

Workshop: Erlang/OTP 101 - Your Intro to Actor and Multi-Core Programming

Track: Training / Time: Tuesday 09:00 - 16:00 / Location: Raum 30341

Training:  Erlang/OTP 101 - Your Intro to Actor and Multi-Core Programming
Duration: 7 hours
Target Audience: Support and Test Engineers, Software Developers

What you will learn: Erlang’s basic features are a perfect match for massively concurrent, distributed cloud environments. Being rooted in an actor model with no shared memory, the complexity of multi-core programming is hidden from the developers, allowing them to focus on the program. This tutorial will introduce Erlang and its actor model, explaining how it is positioning itself to win the multi-core challenge.


Basic & Sequential Erlang: This section deals with Erlang data types and pattern matching. Functions, and modules are discussed. It continues by introducing recursion, with a special emphasis on different recursive patterns, including tail recursion.

Concurrent Programming:
 This section describes the creation of processes and their life span. It looks at sending and receiving messages, selective reception, and passing data in the messages. It continues with the various uses of time outs and registering processes, and terminates by showing the generic process code structure. We conclude this section by introducing the simple but powerful error handling mechanisms in processes. It looks at process links, exit signals and their propagation semantics.

Multi-Core Programming: This section guides the users through examples and scalability issues when writing programs you expect to double in speed when doubling your cores. It covers tools and programming techniques you can use to detect and avoid bottlenecks.

OTP: This section introduces the need and advantages of using middleware in the development of massively concurrent, distributed, fault tolerant real time systems in Erlang. It looks at Erlang's evolution, and how it helped form OTP. Further this gives an overview of the components that make up OTP. They are Erlang, a set of behaviours, and rules and design principles to use them. OTP comes with many ready built applications and tools useful for large scale software design. They are introduced in this section.


In order to get the most out of this tutorial, you must have a good grasp of other programming languages.
Having dabbled with  is not necessary, but will help. This is a hands on tutorial.
• Before arriving, download and install Erlang and get the Erlang mode for your favorite editor working. Erlang (source or binaries) can be downloaded at