
Data-Oriented Programming
by Yehonathan Sharvit · first published 2022
8mentions
2recommended by
8HN commenters
2022–2026first – last mentioned
25% recommend75% neutral
Affiliate links. As an Amazon Associate I earn from qualifying purchases.



>The book itself uses Java, not Clojure. Almost all of the code examples in the book are in JavaScript (not Java) though a significant feature of Sharvit's approach is that it decouples Data Oriented Programming from any specific language. As a Clojure geek, I highly recommend the book as the way to achieve some of Clojure's core virtues in other languages.
on “The Liberating Experience of Common Lisp” ↗DDD is just the beginning. A successful architecture for AI app generation will apply DDD using data-context-iteraction (DCI) in conjunction with Data-Oriented Programming as described by Yehonathan Sharvit: https://blog.klipse.tech/dop/2022/06/22/principles-of-dop.ht... Note that the "DOP" espoused by Brian Goetz and others complicates AI app generation. It stipulates…
on “DDD: The missing piece in AI app generation?” ↗…Software Design for Flexibility Other interesting titles that caught my eye: -- Peter Naur, Programming as Theory Building -- Scott Wlaschin, Domain Modeling Made Functional -- Yehonathan Sharvit, Data-Oriented Programming: Unlearning objects (upcoming) -- Nick Tune, Patterns, Principles, and Practises of Domain Driven Design -- Robert L. Glass, Facts and Fallacies of Software Engineering -- Donald Reinertsen, The Principles…
on “Ask HN: Best books on managing software complexity?” ↗One such "implementation language" as you call it is data-oriented programming (not to be confused with data-oriented design, which is used in game development and sort of has the same idea but different). DOP is build around the idea that your data object are just hashmaps and…
on “Value-Oriented Programming” ↗See also: Data-Oriented Programming: Reduce software complexity by Yehonathan Sharvit https://www.manning.com/books/data-oriented-programming and from SICP: 2.4.3 Data-Directed Programming and Additivity https://sarabander.github.io/sicp/html/2_002e4.xhtml#g_t2_00...
on “Code duplication is far cheaper than the wrong abstraction” ↗Yehonathan Sharvit wrote a post describing the difference between Data-Oriented Programming, Data-Oriented Design, and Data-Driven Design here. it's a 2 minute read or 15 second skim, very brief. https://blog.klipse.tech/visualization/2021/02/16/data-relat... it includes a nice summary of…
on “Data-Oriented Design” ↗…examples are also in JavaScript (but applicable to a lot of languages), I think it's easier to follow for everyone who's coming from an OOP background. I'm also looking forward to Yehonathan Sharvit - Data-Oriented Programming: Unlearning objects.
on “Ask HN: Best books on managing software complexity?” ↗…potentially collect data separately from the verification step. Then we aren't left waiting for UI DOM stuff when we verify the model. The latter can happen separately, and extremely quickly. See also Data-Oriented Programming. Sharvit, Yehonathan. Manning 2022. Principles of Program Design. M.A. Jackson. 1975. SAM Pattern. Jean-Jacques Dubray. https://sam.js.org/
on “Waterloo Style” ↗