DOD vs DOP
These two ideas both put data first. People mix up the names a lot. Here is a simple way to tell them apart.
Data-Oriented Design (DOD)
DOD asks how you arrange data for the work you do most often. If a program keeps hitting the same fields, or moves a lot of information around, layout starts to matter.
You hear this in games, trading, analytics, anything with heavy traffic. The goal is not clever tricks. The goal is staying responsive when the load is real.
Data-Oriented Programming (DOP)
DOP asks how you show and change data in the program. Keep the data easy to see. Keep the steps easy to follow. Do not bury everything in deep object trees.
In Java that usually means simpler types, clearer transforms, and fewer giant objects that do everything.
How they fit
| Lens | Main question | What you get |
|---|---|---|
| DOD | How should data be arranged for efficient work? | Better behavior under load |
| DOP | How should data and behavior show up in code? | Code that is easier to live with |
Day to day, DOP is the habit. Reach for DOD when something actually needs to be fast. Not by default.
On the JVM
Features from Project Amber make data-centered models easier to write and read. That helps with DOP every day. It also leaves a cleaner base if you need DOD later.
Questions? Email admin@jvmlab.org.