Data-Oriented Programming you own this product

Reduce software complexity
Yehonathan Sharvit
Forewords by Michael T. Nygard and Ryan Singer
  • July 2022
  • ISBN 9781617298578
  • 424 pages
  • printed in black & white
  • Available translations: Japanese, Korean, Russian
Look inside
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.

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
4.4
Out of 5.0
A graph showing this site's review totals.
Overall Rating
89%
of customers that
buy this product give
it a 4 or 5-Star rating.
Verified Buyer
“Great deal”
DOP is Good...for a Narrow Space
June 7, 2024 by chaotic3quilibrium (TX, US)
“While I disagree with the DOP approach for general solution spaces, I think there are narrower spaces where it is very optimal. For those spaces, I liked how the book was so well laid out using a backbone of four core principles.

I really enjoyed how he approached some of the more difficult-to-digest aspects of typeless FP upon which Clojure is predicated.

However, because I come from a strongly typed OOP+FP background (Scala and Java) for decades, I remain unconvinced the DOP approach is truly scalable for Enterprise IT architecture and design. Again, it has its narrow vertical, where I think it would be a very effective tool, primarily in text-heavy ETL pathways.

Outside of that, I would advocate for strongly typed OOP+FP of the genre that Scala has been at and remains the "bleeding edge".”
Company Choice
Because I could get both a physical copy and a digital copy.

In fact, I bought a digital copy on Amazon before realizing I could get both on Manning. So, I rebought the digital copy so that I had both a .pdf as well as the physical book.

That enabled me to digitally loan my book to my Software Engineering friend (who would have never bought it as it is so far afield from his values). He read the digital copy and then we discussed it at length, which was of extremely high value to me.
Product Choice
Researching different types of programming in preparation for a series of articles to explore Software Engineering approaches.
Verified Buyer
“Great buy”
April 30, 2023 by A Reviewer (DE)
“Well explained and understandable. The format of a dialog between people to explain the subject is a great choice”
Verified Buyer
“Great value”
All good!
February 23, 2023 by Benoit (Québec, CA)
“This is a very good book, and the physical binding is clean and well made.”
Company Choice
I did not. This is where the book I wanted was.
Product Choice
ACM presentation tickled my curiosity.
Verified Buyer
“Great buy”
DOPはさまざまなプラクティスを集めたプログラマー向けの考え方です
November 16, 2022 by OKZAWA Y. (???, JP)
“読み手に分かりやすくしようという気持ちが伝わる”
Company Choice
o'reilly learning path????????????????Manning????????
Product Choice
?????????????????
Verified Buyer
“Great value”
October 28, 2022 by A Reviewer (IT)
“.”

choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Data-Oriented Programming ebook for free

choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Data-Oriented Programming ebook for free

choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Data-Oriented Programming ebook for free
loading book ...