Concurrency: safe, efficient, structured and easy to use — pick four. This talk aims at looking at the advantages and disadvantages of various concurrency approaches, trying to make sense of them, and trying to paint a picture of the solution space for concurrency. It goes on to present a concurrency model that fixes most of the problems found in the existing approaches.
Concurrency is hard. It’s been hard since its inception, more than half a century ago. There are multiple approaches to concurrency, each with its advantages and disadvantages. This leaves programmers confused.
This talk aims at clarifying part of this confusion by looking at different approaches used in the past to tackle concurrency, providing a simple framework to analyse the advantages and disadvantages of these approaches. Moreover, by looking at past approaches and seeing the downsides that each approach has, we can infer a picture of how the future of concurrency might look like.
We dedicate a part of the talk to a concurrency model that is safe, efficient, structured, and very easy to use (with an emphasis on the usage). This model can be an important part of the future of concurrency.