The Structure of Programming Revolutions
summary
Argues that functional programming is a Kuhnian paradigm shift after structured and OO eras, claiming FP values simplicity and static reasoning and uses a substitution model of evaluation to make code compositional and understandable before runtime. Demonstrates how types actually guide implementations (option.map follows from the type) and how IO separates describing from running effects. Notes recent tool milestones (monads ~1995, free monad and datatype libraries in this decade) and advises adopting the FP paradigm rather than mixing incompatible OO and FP aesthetics.
AI-written summary · about
chapters (24)
- 0:00Introduction
- 1:28ObjectOriented vs Functional Programming
- 2:05The 60s
- 5:43The structure of scientific revolutions
- 9:03The structure of instructional revolutions
- 11:24The functional programming revolution
- 12:18The functional programming paradigm
- 12:45What is the functional programming paradigm
- 14:33ObjectOriented Programming
- 16:24Simplicity
- 17:16At all scales
- 17:28At the low level
- 21:15Substitution
- 22:15Pseudocode
- 24:06Type erasure
- 27:57Shapeless
- 28:30Summary
- 30:10Design Patterns
- 31:51Strategy
- 32:02Paradigm
- 32:55Conclusions
- 33:23Conclusion
- 33:56Podcast
- 34:06Questions








