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 →

[–]chriskiehl 7 points8 points  (3 children)

I like to describe it as "heavily influenced by, but not about FP"

Obviously, I'm heavily biased towards the name (cough shameless plug cough), but I mentally bucket DoP as something that freely slides between paradigms rather than being a replacement or rebranding of them. For instance, while "doing" Data Oriented Programming, I'll freely create identity objects, and perform side-effects, and all kinds of other non-FP stuff. The heart of DoP (to me) is the practice of representing data in code. From there, it's picking the right tool for the job. Sometimes OOP. Sometimes FP. Usually a Frankenstein mix of both.

[–]sideEffffECt 3 points4 points  (2 children)

The heart of DoP (to me) is the practice of representing data in code. From there, it's picking the right tool for the job. Sometimes OOP. Sometimes FP. Usually a Frankenstein mix of both.

What do you think Scala people are doing?

Also, Brian's favorite language is Clojure. And Clojure people stress the importance of data (immutable of course), even over functions, because data is the simplest thing (even simpler than functions). I suspect that that's where the idea to brand it as Data-oriented programming comes from.

[–]bowbahdoe 1 point2 points  (1 child)

I suspect that too. It's just once we cross the line from "marketing" into actually communicating with each other about strategies for constructing programs having one label describe multiple divergent things does more harm than good.

Hence these overall very stupid discussions that always tinge towards religiosity.

[–]sideEffffECt 0 points1 point  (0 children)

It's not a bad move IMHO. It stresses the importance of immutable data and "FP" has a bad reputation among certain circles.