Welcome
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.