The Structure of Programming Revolutions
summary
Argues that programming undergoes three revolutions—structured, object‑oriented, functional—and that FP centers on simplicity and static reasoning. Shows concrete evidence: Haskell (1991), monads entering mainstream (1995), applicatives (2007); uses Scala examples (Option.map written by types, identity function forced by polymorphic signature), IO/monadic description vs run for effects, shapeless for boilerplate derivation, doodle for pure image construction, and maps OO patterns to FP (visitor→fold, chain→composition). Claims Scala eases transition but mixed paradigms carry cognitive baggage.
AI-written summary · about
chapters (23)
- 0:00Intro
- 2:19Wild Ideas
- 6:18Dont even make sense
- 8:01The structure of scientific revolutions
- 11:51The structure of programming revolutions
- 15:24Fundamental assumptions in programming
- 17:55Principles of programming
- 20:04Simplicity
- 21:34Control Structures
- 22:48Functional Programming
- 23:22Substitution Model
- 25:17Simple Substitution
- 26:20Compositionality
- 26:51Avoiding State
- 28:20Expression
- 30:31Types
- 35:07Type derivation
- 35:58Summary
- 36:22Subpoints
- 38:00Examples
- 39:20The Paradigm
- 39:59Conclusions
- 41:07Questions
related talks
50mWhy I Like Functional Programming
43mThe Big Problems Facing Functional Programming & a Possible Solution
01h 00mIntro to FP in Scala: Exploring a Toolbox for Solving Problems - Part 1 of 6
41mHow to Get People Excited about Functional Programming
28mHow to Get Started With Functional Programming
06mPrograming: The Last 4000 Years
31mThe Future of Programming
42mIntroducing A Functional Language At Work
