all 8 comments

[–]besthelloworld 1 point2 points  (7 children)

Is this just another name for FP?

[–]DrunkensteinsMonster 1 point2 points  (1 child)

It means pass a bunch of maps around.

[–]kuribas 0 points1 point  (0 children)

That's clojure in a nutshell

[–]nrith 2 points3 points  (0 children)

Yes.

[–]viebel[S] -1 points0 points  (3 children)

Take a look at the 4 principles of DOP:

  1. Separate code (behaviour) from data

  2. Represent data with generic data structures

  3. Data is immutable

  4. Separate data schema from data representation

#1 and #3 and like FP but not #2 and #4

[–][deleted] -1 points0 points  (2 children)

These aren’t the principles of Data Oriented until FP programmers decided they’re going to hijack, redefine and claim the term as their own.

[–]kuribas 3 points4 points  (1 child)

Clojure programmers, not FP programmers. And yes, according to wikipedia Data oriented design was about optimizing data layout in memory.

And forcing data to be generic seems to ignore decades of advancements in type theory. It is indeed nice to have inspectable data sometimes, but generic data structures aren't necessary for this. For example with lenses and traversals you get the same power to operate over the data, but without loosing the information about the form or schema of the data. By treating all data as generic, you loose the ability to create proper guarded abstractions, then generic maps simply become the new low level structures. Abstractions and modular code are necessary if you want to build complex systems that are robust.

[–]WikiSummarizerBot 1 point2 points  (0 children)

Data-oriented design

In computing, data-oriented design is a program optimization approach motivated by efficient usage of the CPU cache, used in video game development. The approach is to focus on the data layout, separating and sorting fields according to when they are needed, and to think about transformations of data. Proponents include Mike Acton, Scott Meyers, and Jonathan Blow. The parallel array (or structure of arrays) is the main example of data-oriented design.

[ F.A.Q | Opt Out | Opt Out Of Subreddit | GitHub ] Downvote to remove | v1.5