Curated Tech Reading Map

Find your next tech book to read

Book

Data-Oriented Programming

Reduce software complexity

Yehonathan Sharvit

Buy on Amazon* The link above is an advertisement via Amazon Associates.

Summary

Yehonathan Sharvit locates much of software's complexity in the habit of binding data to the code that owns it, and proposes the opposite: hold data in generic, immutable structures such as maps and lists, and keep the functions operating on it separate. One running system, a library management application, is developed across the whole book so that state is managed without ever mutating data. The three parts take the idea through flexibility, covering the separation of code from data, data manipulation, state management, concurrency control, and unit testing; scalability, covering validation, concurrency, persistent data structures, databases, and web services; and maintainability, covering advanced validation, polymorphism, and debugging. The paradigm is presented as language-agnostic, and written as a conversation rather than reference prose.

Target Readers

  • Developers fluent in a high-level language who suspect that the complexity in their systems comes from how data and behavior are bound together
  • Architects who want to see immutable, generic data structures applied to an entire application rather than to isolated examples
  • Engineers curious about functional data modeling but working in an object-oriented codebase they cannot replace

Tags

#data-modeling#complexity-management#architecture

Colophon

Publisher
Shoeisha
ISBN
978-4798179797
Published
Apr 2023
List price
¥3,960incl. taxMay differ from the actual selling price on Amazon

Get this book

* The link above is an advertisement via Amazon Associates.

Prerequisites

Next Books