Data-Oriented Programming: Reduce software complexity cover
welcome to this free extract from
an online version of the Manning book.
to read more



Thank you for purchasing the MEAP for Data Oriented Programming.

The book is written for developers having experience in a high level programming language. It could be a classic Object Oriented language like Java or C# or a dynamically typed language like JavaScript, Ruby or Python. We assume that you have already built (alone or in a team) a couple of web systems either backend of frontend.

Data Oriented Programming (DOP) is a programming paradigm that makes the systems we build less complex. The cool thing is that DOP is language agnostic: it is applicable to any programming language.

I discovered Data Oriented programming 10 years ago when I started to code in Clojure. Since then, the quality of my design and my code has increased significantly and the systems I build in Clojure and in other programming languages are much simpler and much more flexible.

DOP is based on 4 fundamental principles that we expose briefly in Chapter 0. The principles might seem basic at first sight, but when you apply them in the context of a production ready information system, they become very powerful.

Chapter 1 exposes some common pains that Object Oriented developers experience when they develop a system. Please don’t read it as a critics of Object Oriented Programming. The main purpose of Chapter 1 is to motivate you to learn a different programming paradigm.