Erlang 101 - Your Intro to Actor and Multi-Core Programming

Francesco Cesarini (Erlang Solutions Ltd)
Software Architecture
Location: D136
Average rating: ****.
(4.37, 19 ratings)


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.

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

QUESTIONS for the speaker?: Use the “Leave a Comment or Question” section at the bottom to address them.

People planning to attend this session also want to see:

Photo of Francesco Cesarini

Francesco Cesarini

Erlang Solutions Ltd

Francesco Cesarini is the founder of Erlang Solutions Ltd. He has used Erlang on a daily basis since 1995, starting as an intern at Ericsson’s computer science laboratory, the birthplace of Erlang. He moved on to Ericsson’s Erlang training and consulting arm working on the first release of the OTP middleware, applying it to turnkey solutions and flagship telecom applications. In 1999, soon after Erlang was released as open source, he founded Erlang Solutions. With offices in three countries, they have become the world leaders in Erlang based support, consulting, training, certification, systems development and conferences. Francesco has worked in major Erlang based projects both within and outside Ericsson, and as Technical Director, has led the development and consulting teams at Erlang Solutions. He is also the co-author of Erlang Programming, a book recently published by O’Reilly and lectures at Oxford University and the IT Univertisy of Gothenburg. You can follow his ramblings on twitter.

Comments on this page are now closed.


Picture of Shirley Bailes
Shirley Bailes
07/26/2013 10:22am PDT

@Luciano, the ZIP file is posted near the top of this page.

Picture of Luciano Afranllie Ruiz
Luciano Afranllie Ruiz
07/26/2013 10:03am PDT

Francesco, I can not find slides there…

Picture of Francesco Cesarini
Francesco Cesarini
07/25/2013 6:25pm PDT

Hi All,

Many thanks for attending the Erlang 101 tutorial. Many have contacted me asking where to find more information on Erlang and what the next steps are. First things first, however. The slides from the tutorial are here:

For those of you who are curious to learn more, some of the online resources I can recommend include

  • Learn You Some Erlang for Great Good, an online book covering the basics:
  • Erlang Central, a community site site with chat, calendars, job posts, videos and the largest collection of tutorials:
  • We are adding forums to Erlang Central. Until then, if you have questions, the best place to ask is the Erlang Questions mailing list or stack overflow.
  • Oreilly has two great books, one by @simonstl which an overview of the basics, plus one which I co-authored, which goes into the language details. For either book, use discount code authd to get 50% off ebooks and 40% off printed books. &
  • For events (Happening this year in Berlin, Chicago, New York, London and Tel Aviv), and major events next year (San Francisco & Stockholm) have a look at
  • For e-learning and training, have a look at

If you have any questions, drop me a line through this site of via twitter on @FrancescoC

Thanks again! Francesco

Ernesto Mendoza
07/25/2013 12:03pm PDT

I really enjoyed the tutorial and learnt a lot from it.

Francesco, you mentioned you would upload your slides, but I can’t find them. Any chance you could upload them again or see why they are not online? I’ll buy your book anyway, but having the slides would be helpful.


Picture of Francesco Cesarini
Francesco Cesarini
07/23/2013 6:25pm PDT

Hi Augustina, it is unfortunately always like that when you have a group of 80+. Had I spent 30 minutes on sequential programming, those not up to speed on FP would have gotten frustrated and been completely lost. It is a juggling act where I move more quickly or slowly based on the feedback I get from asking questions.

Picture of Augustina Blair
Augustina Blair
07/23/2013 4:46pm PDT

This tutorial was very ambitious by declaring itself as a “101” session that would also cover advanced topics. I would recommend either ask that attendees already have an understanding of functional programming and focus on the Multicore/Concurrency material, or make this a “Functional Programming with Erlang” session and just touch on those things at the end if you have time.

I was interested in the Concurrency and Multicore sections of this talk and I was frustrated by the amount of time the speaker had to spend on explaining basic functional programming concepts to the audience. I don’t know Erlang syntax, but as someone who knows functional programming, a 30-minute speed-through would have been sufficient, rather than the hour-and-a-half spent on basic syntax I could grok from the web in a fraction of the time.

On a positive note, the speaker was very knowledgeable and passionate about the topic. He was very engaged with the audience and attentive to the needs of participants. I enjoyed his presentation style and I actually learned a few things!


Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at (707) 827-7065 or

Contact Us

View a complete list of OSCON contacts