Brussels / 2 & 3 February 2019


Structured Concurrency

Finding our way out of callback hell

We've got rid of GOTO and the spaghetti code it leads to in 1970's. However, we are encoutering very much the same problems when writing concurrent code even now, 50 years later. Programmers are still stuck deep in the callback hell or state machine hell. Concurrent code still looks like spaghetti. And while Go language provided a tool to write unspaghettified concurrent code to the masses, by no way are all the pieces of the puzzle in place.

This talk focuses on what's missing. It explains where the current mainstream paradigms break the vital principles of encapsulation, separation of concerns and correspondence between layout of the code and the execution flow.

It introduces a bunch of current approaches covered by the umbrella term of "structured concurrency" that attempt to solve these problems.

The talk may be interesting to anyone who has to deal with concurrency, irrespective of the language they are using.

Besides looking at the problems at hand, the talk will show examples of structured concurrency in Python (Trio) and C (libdill).


Photo of Martin Sustrik Martin Sustrik