

Distinction between three data related programming paradigms.
source link: https://blog.klipse.tech/visualization/2021/02/16/data-related-paradigms.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Distinction between three data related programming paradigms.
February 16, 2021 dop theoryData-oriented programming is not a new concept. It is a paradigm that is applied by developers from different programming languages in order to reduce the complexity of the systems they build.
The purpose of my book Data-oriented programming is to explore the principles underlying this paradigm and to illustrate their benefits in the context of a software system.
The present article describes the distinction between Data-oriented programming and two other programming paradigms whose name contain the term data: Data-oriented design and Data-driven programming.
Each paradigm has a its own objective and pursues it by focusing on a different aspect of data.
There are only two hard things in Computer Science: cache invalidation and naming things. (Phil Karlton)
Data-oriented design
Data-oriented design is a program optimization approach motivated by efficient usage of the CPU cache, used mostly 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.
In this context, what’s important is how the data resides in memory.
The objective of this paradigm is to improve the performance of the system.
Data-driven programming
Data-driven programming is the idea that you create domain specific languages (DSLs) which are made out of descriptive data. It is a branch of declarative programming.
In this context, what’s important is to describe the behaviour of a program in terms of data.
The objective of this paradigm is to increase code clarity and to reduce the risk of bugs related to mistakes in the implementation of the expected behaviour of the program.
Data-oriented programming
Data-oriented programming is a paradigm that treats data of the system as a first-class citizen. Data is represented by generic immutable data structures (like maps and vectors) that are manipulated by general purpose functions (like map, filter, select, group, sort …).
In this context, what’s important is the representation of data by the program.
The objective of this paradigm is to reduce the complexity of the system.
Summary
Before we conclude, I’d like to mention that there is a draft Wikipedia article about Data-Oriented programming. You are welcome to contribute to the article.
We saw that the three data-related paradigms have different objectives and each of them pursues its objective by focusing on a different aspect of data inside a program.
Paradigm Objective Data Data-oriented design Increase performance Data layout Data-driven programming Increase clarity Behaviour described by data Data-oriented programming Reduce complexity Data representation
Recommend
-
101
paip-lisp - Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"
-
38
In all the chatter around architecture and design patterns when building or upgrading a software system, the fundamental programming paradigms are becoming second fiddle. To preempt any impediments in execution and long-t...
-
41
Programming paradigms for dummies: what every programmer should know Peter Van Roy, 2009 We’ll get...
-
9
4 Programming Paradigms in 45 Minutes RubyHACK 2018 One of the most important lessons I’ve learned is that programming languages are tools and not all tools are good for all jobs. Some tasks are easier to sol...
-
1
VMware Cloud Provider
-
15
4 Programming Paradigms Every Developer Should KnowIt’s important to know them even if you’re not using themFImage by
-
6
Data-Oriented Programming: A link in the chain of programming paradigms December 10, 2021
-
10
Functional Programming Part 0: A Comparison Between Programming ParadigmsRelationship between languages, paradigms and conceptsThis article is a...
-
7
@ggorantalaGopi GorantalaI had roughly 10 years of experience under my belt -- working in Belgium for half a decade.
-
5
Become a true programming master Learn how to code and build efficient algorithms 31700982 submissions,
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK