Value Oriented Programming Part V: Return of the Values
summary
Argues that treating many types as values rather than objects reduces entanglement by removing shared pointers and huge “Velcro” classes, showing concrete rewrites: camera state split into intrinsic geometry vs extrinsic pose, shapes stored inside a layout with selection and position moved out, a simple graph API that preserves invariants and supports coloring, and using polyvariant for polymorphism plus move-only image class and return-by-value to reclaim local reasoning, testability, and performance.
AI-written summary · about
chapters (11)
- 0:00Introduction and title confusion
- 3:32Problem of entanglement in code
- 10:38Objects as nexus of coupling
- 17:45Graph of references and spooky action
- 29:18What defines a value
- 35:34Concept of regular types
- 41:34Circle class and invariants
- 53:27Basis functions and graph class
- 56:59Separating calculation from doing
- 58:25Move semantics and value handling
- 1:01:14When to use objects vs values
related talks
05mFunctional Programming without the Functions
58mOO Considered Harmful
51mFunctional Principles for Object Oriented Development
51mOOP v̶s̶ and FP
49m“Applying functional programming in code design"
01h 01mFunctional C++
29mSingle Value Objects: where DDD and Functional Programming Share Forces
56mFunctional Programming on .NET - The Best of Both Worlds
