Procedural Programming: It’s Back? It Never Went Away
summary
Argues that procedural programming remains relevant and explains why with concrete artifacts: an Algol 68 leap-year example and small testing harness that shows expression-oriented constructs and implicit garbage collection; a JavaScript mixin stack with tests that demonstrates a Liskov substitution failure when a non-duplicate mixin is added; a discussion of scaling via pipes-and-filters coordination and Linda/CSP ideas and channels (bounded, zero-place, futures); examples in Fortran, C and modular languages show which patterns work and which fail.
AI-written summary · about
chapters (26)
- 0:00The case for procedural
- 1:11Bristol and naming
- 2:13Monolithic code
- 5:02Unix philosophy
- 6:39Software engineering 1968
- 8:25Modular design history
- 13:07Algol 68
- 17:04Language design evolution
- 21:17Structured programming
- 24:01Go-to considered harmful
- 27:11Fortran and pitfalls
- 32:16Structure and composition
- 36:53Plan Calcul
- 38:54Return statements
- 41:50Cognitive sense of structure
- 45:01Decomposition strategies
- 48:51Top-down vs bottom-up
- 52:01Abstract data types
- 55:57Memory management
- 58:11Classes and objects
- 1:01:06Inheritance and mixing
- 1:04:25Liskov substitution principle
- 1:07:11Scaling systems
- 1:10:05Concurrency and state
- 1:13:50Future of programming
- 1:17:42Coordination and pipes
related talks
01h 02mProcedural Programming: It Never Went Away
52mParadigms Lost, Paradigms Regained: Programming with Objects and Functions and More
01h 00mEngineering Software
35mCraft, Engineering, and the Essence of Programming
01h 01mSpearheading the future of programming
45mPostmodern Programming
43mParadigms Without Progress: Kuhnian Reflections on Programming Practice
26mInfinite Possibilities
