Concurrent Affairs: Procedural Programming Unlocked

Many programmers assume that procedural programming is a term of insult, or is only relevant when discussing technical debt, or is a paradigm relegated to the past. And when it comes to concurrency, the prevalence of threads running riot through mutable shared state can be at laid the doorstep of procedural thinking. But multithreading was not the procedural paradigm's only response to the question of concurrency.

In addition to a sprinkling of functional hand-me-downs, many trends in modern languages and libraries bear more than a passing resemblance to their procedural forebears. From cobegin to coroutines, from channels to pipelines, many mechanisms of the past have been pulled into the present.

This talk goes back to the sixties and seventies, to a time before the words 'programming' and 'paradigm' had met, to add some history and make sense of current trends.


Look at the history of concurrent procedural programming beyond threads to better understand the trends in modern programming languages and concurrent thinking


Anyone interested in programming paradigms, the history of programming languages and concurrent programming