The Evolution of Object-Oriented Programming
summary
Shows a buggy addOne example where a global mutable counter produces outputs 3 then 4 then null then an exception, then contrasts it with pure functions and referential transparency. Demonstrates builders vs Kotlin/Scala case/data classes and copy() ergonomics, notes lenses as a coming fix for deep updates. Covers ADTs: product tuples and sealed class sum types with exhaustive pattern matching. Explains ad-hoc polymorphism and compiler-filled type classes (Rust cargo run demo succeeds) and a Scala JSON parser that validates and constructs Vehicle instances.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:08Cycles in OOP evolution
- 3:18Immutability and purity
- 8:15Builders for immutability
- 11:23Default and named parameters
- 14:32Functional combinators
- 16:18Algebraic data types
- 23:15Ad-hoc polymorphism
- 28:53Real-world JSON parsing
- 31:39Q&A and closing
related talks
52mFunctional Patterns for the Object Oriented
58mOO Considered Harmful
45mFunctional programming vs. Object-oriented Programming
38mWhat Object-Oriented Programming Was Supposed to Be: Two Grumpy Old Guys’ Take on ...
52mParadigms Lost, Paradigms Regained: Programming with Objects and Functions and More
51mOOP v̶s̶ and FP
39mCoding with dinosaurs
01h 01mSpearheading the future of programming
