A Review of Data-Oriented Programming by Yehonathan Sharvit
Object-oriented programming is too complex but what are the alternatives? Yehonathan Sharvit makes the case for data oriented programming and completely succeeds by introducing and building on the following three fundamental principles: Separate code from data; Represent data with generic data structures; and enforce data immutability.
A key strength of the book is that each fundamental principle is introduced generally and then further explored in detail within subsequent chapters. I particularly enjoyed reading the chapter where a library system is designed using object-oriented programming and then the complexity is completely tamed using data oriented programming. The explanations are not overtly lengthy and terse either — these complex explanations are made simple using a conversational writing style with dialog between an OO practitioner and a data oriented programming expert.
It is not often that a programming book attempts and succeeds at changing the mindset from a traditional development paradigm! Data Oriented Programming published by Manning is one such book and I highly recommend it for both beginner and experienced programmers. My advice to any programmer: “Take a weekend and read this book. It will change how you approach programming”.
Many thanks to Yehonathan Sharvit for seeking out a review from a female programmer.