DO as I understand it is about recognizing how data is actually laid out and interacted with by a processor, as opposed to meaningful abstract relationships to a programmer. It's about breaking down costly abstractions, rather than ignoring the cost of higher level abstractions.
DO exists primarily in opposition to OO, not FP. The classic example is the array of structs to struct of arrays (OO to DO transformation).
https://blog.klipse.tech/visualization/2021/02/16/data-relat...
As you know, naming is one of the two hard things in programming.
[1]: https://www.cognitect.com/blog/2016/6/28/the-new-normal-data... [2]: https://adtmag.com/articles/2004/08/05/data-integration-a-li...
> Data-oriented design => Increase performance via Data layout
> Data-driven programming => Increase clarity via Behaviour described by data
> Data-oriented programming => via Reduce complexity via Data representation