
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 or frontend.
Data Oriented (DO) Programming is a programming paradigm that makes the systems we build less complex. The cool thing is that DO is language agnostic: it is applicable to any programming language.
I discovered Data Oriented programming ten 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.
DO is based on three 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 critic of Object Oriented Programming. The main purpose of Chapter 1 is to motivate you to learn a different programming paradigm.