Skip to Content
Data-Oriented Programming
book

Data-Oriented Programming

by Yehonathan Sharvit
August 2022
Beginner to intermediate
424 pages
10h 19m
English
Manning Publications

Overview

Eliminate the unavoidable complexity of object-oriented designs. The innovative data-oriented programming paradigm makes your systems less complex by making it simpler to access and manipulate data.

In Data-Oriented Programming you will learn how to:

  • Separate code from data
  • Represent data with generic data structures
  • Manipulate data with general-purpose functions
  • Manage state without mutating data
  • Control concurrency in highly scalable systems
  • Write data-oriented unit tests
  • Specify the shape of your data
  • Benefit from polymorphism without objects
  • Debug programs without a debugger

Data-Oriented Programming is a one-of-a-kind guide that introduces the data-oriented paradigm. This groundbreaking approach represents data with generic immutable data structures. It simplifies state management, eases concurrency, and does away with the common problems you’ll find in object-oriented code. The book presents powerful new ideas through conversations, code snippets, and diagrams that help you quickly grok what’s great about DOP. Best of all, the paradigm is language-agnostic—you’ll learn to write DOP code that can be implemented in JavaScript, Ruby, Python, Clojure, and also in traditional OO languages like Java or C#.

About the Technology
Code that combines behavior and data, as is common in object-oriented designs, can introduce almost unmanageable complexity for state management. The Data-oriented programming (DOP) paradigm simplifies state management by holding application data in immutable generic data structures and then performing calculations using non-mutating general-purpose functions. Your applications are free of state-related bugs and your code is easier to understand and maintain.

About the Book
Data-Oriented Programming teaches you to design software using the groundbreaking data-oriented paradigm. You’ll put DOP into action to design data models for business entities and implement a library management system that manages state without data mutation. The numerous diagrams, intuitive mind maps, and a unique conversational approach all help you get your head around these exciting new ideas. Every chapter has a lightbulb moment that will change the way you think about programming.

What's Inside
  • Separate code from data
  • Represent data with generic data structures
  • Manage state without mutating data
  • Control concurrency in highly scalable systems
  • Write data-oriented unit tests
  • Specify the shape of your data


About the Reader
For programmers who have experience with a high-level programming language like JavaScript, Java, Python, C#, Clojure, or Ruby.

About the Author
Yehonathan Sharvit has over twenty years of experience as a software engineer. He blogs, speaks at conferences, and leads Data-oriented programming workshops around the world.

Quotes
Reach the next level of enlightenment…Reduce accidental complexity and raise the level of abstraction.
- From the Foreword by Michael T. Nygard, author of Release It!: Design and Deploy Production-Ready Software

After I saw the examples, I couldn’t unsee it. I didn’t need a new language; I needed to approach programming differently!
- From the Foreword by Ryan Singer, author of Shape Up: Stop Running in Circles and Ship Work that Matters

If you have to deal with data in your code, you should know about DOP!
- Michael Aydinbas, Exxeta

The principles are straightforward and universally applicable.
- Seth MacPherson, QuoteFactory

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Five Lines of Code

Five Lines of Code

Christian Clausen
Street Coder

Street Coder

Sedat Kapanoglu

Publisher Resources

ISBN: 9781617298578Publisher SupportPublisher WebsiteErrata Page