4 ms·
That's no definition of DO I've ever heard. A list is a classic example of a non-data oriented structure! DO as I understand it is about recognizing how data i
by hctaw 6y ago
That's no definition of DO I've ever heard. A list is a classic example of a non-data oriented structure!
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).
- viebel 6y agoYou are referring to Data-Oriented design, while I am referring to Data-Oriented programming https://blog.klipse.tech/visualization/2021/02/16/data-related-paradigms.html https://blog.klipse.tech/visualization/2021/02/16/data-relat...
- hctaw 6y agoPerhaps pick a better name that isn't confusing. In industry what your definition refers to is called "generic programming" if I understand correctly.
- viebel 6y agoI didn't choose the term "Data-Oriented programming" It was used by Cognitect folks to promote clojure [1] and actually it was coined by Eugene Kutznetsov in 2004 [2] 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-leverage https://www.cognitect.com/blog/2016/6/28/the-new-normal-data... [2]: https://adtmag.com/articles/2004/08/05/data-integration-a-little-dop-might-do-you.aspx https://adtmag.com/articles/2004/08/05/data-integration-a-li...
- karmakaze 6y agoUseful: > 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