Concurrent Affairs: Procedural Programming Unlocked
summary
Argues procedural techniques power modern concurrency by showing concrete lineage and implementations: coroutines date to 1958, structured parallel blocks appear in Algol68/occam, and Go channels implement a push/pop stack as a running goroutine that works without locks. Demonstrates that Python/Kotlin coroutines are replays of older ideas, that C++20 coroutines leave developers writing heavy boilerplate, and that channels, pipelines and cobegin-style blocks are the practical, low-surprise primitives that actually simplify concurrent code.
AI-written summary · about
chapters (11)
- 0:00Start
- 1:51functional
- 3:16procedural
- 13:49Coroutines are subroutines all at the same level, each acting as if it were the master program when in fact there is no master program.
- 18:22Coroutines are well-suited for implementing familiar program components such as cooperative tasks, exceptions, event loops, iterators, infinite lists and pipes.
- 23:05The first real code to be written in C with Classes was the task library, which provides Simula- like concurrency for simulation.
- 23:57In Simula I [...] a process was a bundle of data attributes associated with a single action known as the process' operating rule.
- 26:30One of the most powerful mechanisms for program structuring [...] is the block and procedure concept.
- 26:40A procedure which is capable of giving rise to block instances which survive its call will be known as a class; and the instances will be known as objects of that class.
- 31:17When a sequence of statements is surrounded by the special statement bracket pair parbegin and parend, this is to be interpreted as parallel execution of the constituent statements.
- 35:42Algorithms + Data Structures
related talks
01h 16mConcurrency Approaches: Past, Present, and Future
48mStructured Concurrency: Writing Safer Concurrent Code with Coroutines...
36mHow Do People Handle Concurrency?
01h 30mC++ Coroutines and Structured Concurrency in Practice
36mWhat if the future of concurrent programming is already 50 years old?
01h 04mcore.async: Concurrency without Callbacks
01h 21mStructured Concurrency
01h 01mThe Future of Concurrency and Parallelism
