Structured Concurrency
Finding our way out of callback hell
- Track: Lightning Talks
- Room: H.2215 (Ferrer)
- Day: Saturday
- Start: 13:40
- End: 13:55
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).
Speakers
Martin Sustrik |
Links
- Notes on structured concurrency, or: Go statement considered harmful
- Strcutured concurrency
- “Concurrency made easy”: coming soon to a programming language near you
- Exceptions vs Structured Concurrency
- Timeouts and cancellation for humans
- Coroutine Cancellation and Structured Concurrency
- libdill (C)
- Trio (Python)
- Structured Concurrency (Kotlin)
- Venice (Swift)
- Video recording (WebM/VP9)
- Video recording (mp4)
- Submit feedback