Skip to main content

Thinking in a Highly Concurrent, Mostly-functional Language

Francesco Cesarini (Erlang Solutions Ltd)
Computational Thinking
Portland 255
Average rating: ****.
(4.80, 5 ratings)

Yale Professor Alan Perlis once wrote, “A language that doesn’t affect the way you think about programming, is not worth knowing.”

To really appreciate the power of the actor model, no matter if you are using Go, Rust, AKKA or Erlang, you need to learn to think concurrently. Erlang has for decades been leading the way in concurrent thinking and developers from different communities abd backgrounds have a lot to learn from its approach.

This talk illustrates by example how embracing the Erlang way of thinking about problems leads to scalable and fault-tolerant designs. It will describe three ways of clustering Erlang nodes within the server side domain, describing how these systems have evolved as the concurrency model and the underlying hardware got more powerful.

Through these case studies, we will describe how Erlang, and more specifically, concurrency was done in 1995 when the limit of processes was 30,000, with an evolution as to how concurrency is used and applied today, when the limit of simultaneous processes in in the magnitude of millions per virtual machine.

Photo of Francesco Cesarini

Francesco Cesarini

Erlang Solutions Ltd

Francesco Cesarini is the founder and technical director 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 five 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 published by O’Reilly and is currently co-authoring Designing For Scalability With Erlang/OTP. He lectures the graduate students at Oxford University. You can follow his ramblings on twitter.