Infinite Possibilities
summary
Exercise shows how one simple problem spawns 15 implementations and then hundreds by varying concrete tradeoffs. Code variants include moving globals to packages, enum-as-iota vs struct vs interface, constructor vs reflection wiring, generics-based processors, a DSL, and explicit ports enabling deadlock detection. A small Flow Based Programming prototype gets rewritten for context cancellation, process-group structs, generics, and a DSL; most versions work but the process causes analysis paralysis as complexity and API surface shift.
AI-written summary · about
chapters (12)
- 0:00Intro
- 0:38Disclaimer
- 1:49Why this exercise
- 2:44How to approach it
- 3:56How to judge
- 7:34Code meditation
- 13:16Stability
- 14:22Adjustability
- 14:40Examples
- 18:10Variations
- 22:22Component
- 24:30Conclusion
related talks
01h 00mDesign Idioms from an Alternate Universe
32mThe Evolution of Object-Oriented Programming
49mThinking in a Highly Concurrent, Mostly-functional Language
01h 06mDesigning Applications with Functional Programming Constructs
10mProgramming from an alternate timeline!
01h 24mProcedural Programming: It’s Back? It Never Went Away
01h 02mProcedural Programming: It Never Went Away
01h 05mVerifying Infinitely Many Programs at Once
