Data Oriented Programming in Java: Progress Update 2025-11-23

Published: 2025-11-23
Early Access here: Data Oriented Programming in Java
Available in MEAP: Chapters 1, 2, 3, 4, 5, 6, 7, 8
Pending reviews: Chapter 11
Currently working on: Revisions to Rewriting chapter 9
Current Stats:
- Words: 8828
- Listings: 30
- Figures Used: 19
- Figures Made: 52
Not done, but close.
The chapter is superficially about refactoring towards data-orientation, but the broader theme is drawing boundaries, and what that looks like when working with data rather than objects and interfaces. This has allowed me to sneak in my usual amount of navel gazing. We explore types as "assertions" through the Curry Howard Correspondence and how we can use this to demand that our code provide "proof" that it is in a valid state before performing an operation.[0]
A coworker asked what I was going to do when I finished the book. My official plan is to fall into a deep depression. But, the unofficial plan is to probably (after a break) start another book. Because apparently I hate myself.
[0] Obviously, Java's type system isn't sophisticated enough to really explore the isomorphism, but it's still a useful mental model for thinking about the role of types.