Paradigms Lost, Paradigms Regained: Programming with Objects and Functions and More
summary
Argues that paradigms are tools not religions, then shows concrete examples: implements a stack as a C# wrapper, as an opaque C ADT, and as a stack implemented as closure in JavaScript; shows Java and C++ only gained lambdas in 2014 and 2011 respectively; composes capabilities with mixins to add non-duplicate-top mixin fails LSP test, runs a simple JS test where composing a non-duplicate mixin makes depth drop from 3 to 2, proving substitution can break by implementation detail.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 2:40The history of paradigms
- 7:36Failure modes of paradigms
- 10:57Defining the stack
- 13:02Abstract data types
- 16:54Modularity and encapsulation
- 21:30Procedural programming roots
- 26:42Origins of object orientation
- 33:12Closures and lambdas
- 37:35Lambda calculus foundations
- 40:46Concatenation and inheritance
- 44:14The Liskov substitution principle
- 47:38Programming to an interface
related talks
43mParadigms Without Progress: Kuhnian Reflections on Programming Practice
01h 24mProcedural Programming: It’s Back? It Never Went Away
01h 02mProcedural Programming: It Never Went Away
53mBeyond paradigms: mastering languages in the 21st century
32mThe Evolution of Object-Oriented Programming
36mInviting everyone to the party
45mFunctional programming vs. Object-oriented Programming
01h 01mSpearheading the future of programming
