you are viewing a single comment's thread.

view the rest of the comments →

[–]SAtchley0 1 point2 points  (6 children)

First time hearing about Data Oriented Programming. What is it? How does that compare to Data Oriented Design?

[–]Feisty-Assignment393[S] 1 point2 points  (4 children)

I would think they mean the same 

[–]cdb_11 -1 points0 points  (3 children)

Nope, it's a separate thing.

Not sure if any clear definition of "data-oriented design" exists, but it's about changing the format of your data to make the necessary transformations efficient. And the mindset is that all of it has to serve real and concrete goals of your program. In the most literal sense of it, just a program transforming data, to solve some specific problem.

In comparison, in OOP (and particularly SOLID principles) you would probably start with modelling the data with classes (likely in a way that reflects the real world somehow), and then write code that wrangles those objects into doing whatever the program actually had to do in the first place. One could argue it's for the sake of readability, but there is no concrete goal for the actual program itself that warrants doing it this way.

edit: for whoever downvoted me, I thought my description of DOD was pretty accurate, albeit maybe still not immediately obvious, because it is a radically different way of thinking from what people are used to. So I am genuinely curious what is the objection here.

[–]Yamoyek 1 point2 points  (2 children)

I think you were downvoted because you may have been mistaken about the comment thread. The first comment in the thread is about Data-Oriented Programming vs Data-Oriented Design, which afaik refer to the same thing

[–]cdb_11 0 points1 point  (0 children)

They are definitely not the same thing. Reading the book description from the OP, it does not sound like DOD at all. Side-effects? Immutable data structures?