Jakša Vučković

Zuhlke Engineering

Why are Actors Terrible?

This is the first part of the introduction to actors. Here we will cover only the negative side of actors. This presentation is complemented by a workshop which teaches 'proper' actor development. We will be debunking some common myths about the actor model. This talk is intentionally polemical and presents only one side of the story.

Full abstract

As distributed systems are becoming the norm, more demand rises for tools and methods for reliably building such systems. However, there is no silver bullet and just adopting a tool, technology or model does not make it easy to build reliable distributed systems. The actor based model existed since the 70s, but its popularity rose just in the last decade thanks to Erlang and Akka. As the actor model is adopted by more developers so are the misconceptions related to it. These misconceptions arise from marketing material and a general lack of understanding of distributed systems theory.

In this presentation we will analyse and debunk some myths that are typically attributed to the actor model such as:

1. ease of development

2. lack of deadlocks

3. the readability of the code

4. the implicit fault tolerance

5. high parallelisation

This presentation does not present a fair view on the actor model and relies on a complementary workshop 'Why are actors great' to mitigate that. Attendees will better understand when and why to use the actor model and the associated costs and benefits. The 'how' part of using the actor model will be presented in the 'Why are Actors Great' workshop.