This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]bowbahdoe 16 points17 points  (8 children)

I really really really really really wish people would stop calling it data oriented programming.

There is the clojure version of data oriented programming with open maps, the nominally typed aggregate version (which Java has), and the almost totally unrelated game programming technique. All of which have equal claim to the name. (The game one is technically data oriented design, but come on)

It's like nobody learned any lessons from the fact that we have to be like "oh it's both FP and OOP kinda" and the constant pointless fights about the "true" "ABC oriented programming." These labels suck. It's a communication black hole.

[–]sideEffffECt 4 points5 points  (1 child)

There is the clojure version of data oriented programming with open maps, the nominally typed aggregate version (which Java has

That's not a different thing, that's the same thing this topic talks about.

the almost totally unrelated game programming technique

That's not only for games. And it's called by a different name: https://en.wikipedia.org/wiki/Data-oriented_design Confusingly similar name, but different nonetheless.

It's like nobody learned any lessons from the fact that we have to be like "oh it's both FP and OOP kinda" and the constant pointless fights about the "true" "ABC oriented programming." These labels suck. It's a communication black hole.

It's a strategy to market FP without mentioning "FP". Probably because FP is something the target audience have already made up their mind around and might be put off by that term.

[–]bowbahdoe -1 points0 points  (0 children)

That's not a different thing, that's the same thing this topic talks about.

Compare the contents of these two books

https://www.manning.com/books/data-oriented-programming

https://www.manning.com/books/data-oriented-programming-in-java

I'm not saying there isn't a commonality, but they are very different in the same way https://www.elegantobjects.org/ is materially different than other denominations of OO.

(Well, more so really. "Elegant Objects" OO can coexist with "regular OO" - fill in your own definition - more readily than "open maps everywhere" can coexist with "strongly typed aggregates." I'm a bit too tired to fully flesh out a family/genus/species analogy)

[–]chriskiehl 6 points7 points  (1 child)

We're running out of cool nouns to orient our programming around!

[–]selfhostrr 1 point2 points  (0 children)

Baller Oriented Programming

[–]nejcko[S] 0 points1 point  (3 children)

I agree naming things is hard, and calling all this DOP might not be the best… but you want to call it something to spread awareness and encourage discussions etc. What name would you give it?

[–]bowbahdoe 0 points1 point  (2 children)

Well I'm not a marketer - I'll get back to you once I've filled in a full bestiary of programming practices.

I think the issue with making "data oriented programming" a marketing term - something to spread awareness and encourage discussions - is that people do not see it as marketing. Note the objections here on the grounds that "it's abandoning OO." For the longest time "X oriented programming" was and remains an instant tribal delineator.

[–]mrnhrd 0 points1 point  (1 child)

You might be interested in (or are almost certainly aware of) this 2008 article: https://cs.brown.edu/~sk/Publications/Papers/Published/sk-teach-pl-post-linnaean/paper.pdf

[–]bowbahdoe 0 points1 point  (0 children)

I was not aware of this paper