{"product_id":"9781638356783","title":"Data-Oriented Programming: Reduce software complexity","description":"\u003cb\u003eEliminate 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.\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003eIn \u003ci\u003eData-Oriented Programming\u003c\/i\u003e you will learn how to:\u003cbr\u003e \u003cbr\u003e Separate code from data\u003cbr\u003e Represent data with generic data structures\u003cbr\u003e Manipulate data with general-purpose functions\u003cbr\u003e Manage state without mutating data\u003cbr\u003e Control concurrency in highly scalable systems\u003cbr\u003e Write data-oriented unit tests\u003cbr\u003e Specify the shape of your data\u003cbr\u003e Benefit from polymorphism without objects\u003cbr\u003e Debug programs without a debugger\u003cbr\u003e \u003cbr\u003e \u003ci\u003eData-Oriented Programming\u003c\/i\u003e 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#.\u003cbr\u003e \u003cbr\u003e Forewords by Michael T. Nygard and Ryan Singer.\u003cbr\u003e \u003cbr\u003e About the technology\u003cbr\u003e 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.\u003cbr\u003e \u003cbr\u003e About the book\u003cbr\u003e \u003ci\u003eData-Oriented Programming\u003c\/i\u003e 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.\u003cbr\u003e \u003cbr\u003e What's inside\u003cbr\u003e \u003cbr\u003e Separate code from data\u003cbr\u003e Represent data with generic data structures\u003cbr\u003e Manage state without mutating data\u003cbr\u003e Control concurrency in highly scalable systems\u003cbr\u003e Write data-oriented unit tests\u003cbr\u003e Specify the shape of your data\u003cbr\u003e \u003cbr\u003e About the reader\u003cbr\u003e For programmers who have experience with a high-level programming language like JavaScript, Java, Python, C#, Clojure, or Ruby.\u003cbr\u003e \u003cbr\u003e About the author\u003cbr\u003e \u003cb\u003eYehonathan Sharvit\u003c\/b\u003e has over twenty years of experience as a software engineer. He blogs, speaks at conferences, and leads Data-Oriented Programming workshops around the world.\u003cbr\u003e \u003cbr\u003e Table of Contents\u003cbr\u003e PART 1 FLEXIBILITY\u003cbr\u003e 1 Complexity of object-oriented programming\u003cbr\u003e 2 Separation between code and data\u003cbr\u003e 3 Basic data manipulation\u003cbr\u003e 4 State management\u003cbr\u003e 5 Basic concurrency control\u003cbr\u003e 6 Unit tests\u003cbr\u003e PART 2 SCALABILITY\u003cbr\u003e 7 Basic data validation\u003cbr\u003e 8 Advanced concurrency control\u003cbr\u003e 9 Persistent data structures\u003cbr\u003e 10 Database operations\u003cbr\u003e 11 Web services\u003cbr\u003e PART 3 MAINTAINABILITY\u003cbr\u003e 12 Advanced data validation\u003cbr\u003e 13 Polymorphism\u003cbr\u003e 14 Advanced data manipulation\u003cbr\u003e 15 Debugging","brand":"Manning","offers":[{"title":"Default Title","offer_id":46634655482097,"sku":"9781638356783","price":58.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0674\/5433\/7265\/files\/9781638356783_p0.jpg?v=1765423391","url":"https:\/\/shop.barnesandnoble.com\/products\/9781638356783","provider":"Barnes \u0026 Noble","version":"1.0","type":"link"}