Reduce System Complexity with Data-Oriented Programming
summary
Argues that treating information as immutable value reduces cognitive load, demonstrates with a library data model and shows updating Watchmen requires only five new nodes instead of deep-cloning the million-book catalog. Shows practical persistent data structures (HAMT structural sharing ported from Clojure to Immutable.js and language libraries) and claims immutability removes whole classes of bugs. Validates dynamic input with AJV JSON Schema examples and highlights HAMT structural sharing for performant immutable updates.
AI-written summary · about
chapters (13)
- 0:00Intro
- 1:10What is complexity?
- 3:00Information systems
- 3:54Principles of data-oriented programming
- 5:49What makes a software system complex?
- 7:23Principle No 1: Separate code from data
- 12:16Principle No 2: Represent data with generic data structures
- 22:51Principle No 3: Do not mutate data
- 28:42Immutability in practice
- 29:42What about data validation?
- 36:06History of data-oriented programming
- 38:38Summary
- 39:17Outro
related talks
21mData-Oriented programming
32mThe Evolution of Object-Oriented Programming
51mFunctional Principles for Object Oriented Development
36mData As The Fabric Of Your App
01h 42mBuilding Marvelous and Heroic Systems from the Ground Up
59mThe Mess We're (Still) In
01h 06mDesigning Applications with Functional Programming Constructs
43mEvident Code, at Scale
