Procedural Programming: It Never Went Away — Kevlin Henney | Build Stuff
Why Hacker News recommends it
HN people recommend it as a fascinating history lesson showing that the field keeps rediscovering ideas from the 1960s.
What it is
Kevlin Henney argues that procedural programming never went away despite later paradigms such as OO and functional. He traces the history of structured programming and shows where procedural thinking still lives in modern code and why it matters for readability.
Recommended by 2 HN commenters across 3 different months, 2018 to 2021.
What Hacker News said
Strong rec open-source-ux · 2019-01 · on “Algol 68”
I strongly recommend this talk by software consultant and author Kevlin Henney called Procedural Programming: It's Back? It Never Went Away He talks a bit out Algol 68 and how influential it was on programming language design. Many language keywords we're familiar with today originated in the 50 year old language specification for Algol 68: int, bool, skip, void, struct. Here's the snippet from the talk about Algol 68 - it's brilliant: [this video]
Recommends open-source-ux · 2018-04 · on “Ask HN: What is your favourite tech talk?”
If you have an interest in the history of programming methodologies, this talk is fascinating: Procedural programming: it's back? It never went away [this video]
Recommends bunderbunder · 2018-04 · on “Designing very large JavaScript applications”
You may appreciate Kevlin Henney's talk, "Procedural Programming - It's back? It never went away."[1] It's a tour of how all the best discoveries of the past decade or two really date back to the 1960s. [1] [this video] [this video]
Recommends open-source-ux · 2018-12 · on “Ask HN: Best talks of 2018?”
I really liked this talk about the history of programming and how so many ideas we consider recent or modern are in fact much older than many of us realise. Watching this talk merely amplifies the feeling that the programming profession is in a perpetual loop - discarding or forgetting ideas or concepts, then re-discovering them anew. What's also striking is how rich and varied were the programming ideas that emerged from the 60s and 70s. Kevlin Henney - Procedural Programming: It's Back? It Never Went Away [this video]
Cites Supermancho · 2021-12 · on ““Coding is basically just ifs and for loops.””
[this video] Sequence, selection, iteration (or recursion if available). Note that the child overlooked the assumption that it's sequential.
Cites Supermancho · 2021-12 · on “Why Architecture Oriented Programming Matters (2019)”
I will start with a couple clarifications, in good faith. I will admit that I have made lazy errors in this discussion. Specifically in regard to terminology. Afaik, there is no term for "temporally unsynchronized" other than parallelism or concurrency, and I have misused the term concurrency at times. I have also used the term transition to mean "asynchronous state transition". This may clarify my past statements, but I will attempt to do better, going forward. So I'll visit on the material you are most familiar with so that my comments might have the most specific impact or irrelevance. For your verification, I read your paper here: [LINK] To begin, I agree on the concept. If "constraining
Cites mpweiher · 2021-12 · on “Why Architecture Oriented Programming Matters (2019)”
> If "constraining architecture" means any separation of concerns or interface. It doesn't. It means you work with constraints, for example dataflow constraints. For example: [LINK] > I also thought the implementation was a little muddled Yes! That was the point of that section of the paper, that doing the straightforward thing leads to a muddle: "At this point, it becomes clear that our original strategy of updating the UI from the individual setter methods is probably not tenable in the long run." A little later: "As we have seen, even a conceptually very simple application such as a temperature converter quickly attracts significant complexity with non-obvious trade-offs once the requirem