data-oriented-programming

Dumch 2022-06-26T12:27:09.846779Z

Hey, @viebel. I am writing an article about why to use ClojureDart for Flutter developers. One thesis I want to provide is the Data oriented approach in Clojure. I will refer to your book, but I can't find an article or a video, selling this idea in short. There are good talks (https://youtu.be/rX0ItVEVjHc, https://youtu.be/yy8jQgmhbAU) about data oriented design in c++, but I think it's a little bit different and more about gamedev.

cgrand 2022-06-26T12:27:56.002139Z

Yep it's totally different.

Dumch 2022-06-26T12:28:58.431979Z

I like what they say about benefits of not using classes though, not only about performance

nbardiuk 2022-06-26T13:31:15.411819Z

@arturdumchev check out @viebel blog there several articles with overview of the topic https://blog.klipse.tech/dop/2022/06/22/principles-of-dop.html

Dumch 2022-06-26T13:37:25.674269Z

Thanks! And do you know, did anyone use this term (data oriented programming) before Yehonathan?

Yehonathan Sharvit 2022-06-26T13:42:09.682159Z

The term seems to have been https://adtmag.com/articles/2004/08/05/data-integration-a-little-dop-might-do-you.aspx by Eugene Kuznetsov in 2004.

👍 2
Yehonathan Sharvit 2022-06-26T13:46:03.045269Z

Since the launch of Clojure the term “data-oriented” has been used informally inside the Clojure community. • Stuart Sierra in his 2012 talk mentions Data-Oriented Prgogramming • Mike Nygard (one of the foreword authors of my book) used data-orientation in 2016 https://www.cognitect.com/blog/2016/6/28/the-new-normal-data-leverage • Eric Normand used data-orientation in 2019 https://ericnormand.me/podcast/what-is-the-benefit-of-data-orientation

nbardiuk 2022-06-26T13:46:07.005139Z

This conversation on clojureverse has some pointers https://clojureverse.org/t/review-what-is-data-oriented-programming/6065/39

Dumch 2022-06-26T14:43:43.314859Z

Thank you for your replies, I found exactly what I needed! I have also found a simple video with rewriting OOP-expersts code without OOP which seems an easy to understand without being theoretically prepared https://www.youtube.com/watch?v=IRTfhkiAqPw&ab_channel=CodingTech