Data-Oriented Programming you own this product

Reduce software complexity
Yehonathan Sharvit
  • MEAP began January 2021
  • Publication in August 2022 (estimated)
  • ISBN 9781617298578
  • 424 pages (estimated)
  • printed in black & white
filed under

placing your order...

Don't refresh or navigate away from the page.
eBook Our eBooks come in DRM-free Kindle, ePub, and PDF formats + liveBook, our enhanced eBook format accessible from any web browser. $33.59 $47.99 you save $14 (30%)
Data-Oriented Programming (eBook) added to cart
continue shopping
go to cart

print + eBook Receive a print copy shipped to your door + the eBook in Kindle, ePub, & PDF formats + liveBook, our enhanced eBook format accessible from any web browser. $41.99 $59.99 you save $18 (30%)
FREE domestic shipping on orders of three or more print books
Data-Oriented Programming (print + eBook) added to cart
continue shopping
go to cart

Insightful. Nicely illustrates the limits of OOP in managing the complexity of developing software. Explains how focusing on the data can simplify solving certain problems.

Gregor Rayman
Look inside
Eliminate the unavoidable complexity of object-oriented designs. Using the persistent data structures built into most modern programming languages, Data-oriented programming cleanly separates code and data, which simplifies state management and eases concurrency.

In Data-Oriented Programming you will learn how to:

  • Separate code from data
  • Effectively manage state using immutable data
  • Represent data with generic data structures
  • Manipulate data with general-purpose functions
  • Control concurrency in highly scalable systems
  • Specify the shape of your data
  • Benefit from polymorphism without objects
  • Debug programs without a debugger
  • Distinguish data-oriented programming from functional and OO programming

Data-Oriented Programming teaches you to design applications using the data-oriented paradigm. These powerful new ideas are presented through conversations, code snippets, diagrams, and even songs to help you quickly grok what’s great about DOP. You’ll learn to write DOP code that can be implemented in languages like JavaScript, Ruby, Python, Clojure and also in traditional OO languages like Java or C#.

about the technology

Data-oriented programming is an exciting new paradigm that eliminates the usual complexity caused by combining data and code into objects and classes. In DOP, you maintain application data in persistent generic data structures separated from the program’s code. You use general-purpose functions to manipulate the data without mutating it. This approach rids your applications of state-related bugs and makes your code much easier to understand and maintain.

about the book

Data-Oriented Programming teaches you to design and implement software using the data-oriented programming paradigm. In it, you’ll learn author Yehonathan Sharvit’s unique approach to DOP that he has developed over a decade of experience.

Every chapter contains a new light bulb moment that will change the way you think about programming. As you read, you’ll build a library management system using the DOP paradigm. You’ll design data models for business entities, manipulate immutable data collections, and write unit tests for data-oriented systems.

about the reader

For programmers experienced with an object-oriented language like C#, Java, or JavaScript.

about the author

Yehonathan Sharvit has over twenty years experience as a software engineer, programming with C++, Java, Ruby, JavaScript, Clojure and ClojureScript. He currently works as a software architect at Cycognito building software infrastructures for high scale data pipelines. He writes about software engineering at his blog, speaks at conferences, and leads Clojure workshops around the world.

FREE domestic shipping on orders of three or more print books

This is a great guide to using Data-Oriented Programming to improve any new or existing OOP codebase.

William E. Wheeler

An interesting read—a different approach that's worth examining and considering. It'll open your mind.

Anne Epstein

Read this through if you want to learn a different point of view and want to experience many 'aha!' moments.

Christian Kreutzer-Beck

Follows a very novel approach to introduce DOP concepts. Must read it if you want to rescue yourself from OOP.

Kelum Prabath Senanayake