Data Oriented Programming in Java: Chapter 6 Progress (2025-01-19)
Published: 2025-01-19
Early Access here: Data Oriented Programming in Java
Current Stats:
- Words: 8360
- Listings: 29
- Figures Used: 2
- Figures Made: 18
It's interesting how much a draft changes as you work on it. Time is a necessary ingredient.
It's no longer a "quick 20 pages." The original idea was that this chapter would just be "left overs" where we go through and implement the model we defined in the previous chapter. However, the more I thought about it and spent time with the text, the more I realized how little value that would provide anyone (beyond, say, giving them closure). Watching someone implement something is interesting content, but it's not valuable. And value is always at the top of my mind after reading Writing Useful Books.
So, the work this week became trying to figure out what we can talk about as we work through implementing each domain model. That means not just showing what I would do, but why I would do it. That "why" has become the central theme of the chapter. "Why" is one of the hardest things for developers to answer. A lot of programming is done by "instinct" or stream of consciousness. This chapter is about changing that.
There's a really old paper that I love, "On the Criteria to be Used in Decomposing Systems into Modules". This is the spirit of the chapter. Given a big list of stuff to do, how do we break it down? How do you judge "better" from "different"?
I'd say I have the first draft complete. It's rough. Very rough. Unfit for anyone's eyes. But all the pieces are there. I call that a successful week of writing. Now it's the long tail of slowly turning this into something people will actually want to read.