{"product_id":"data-oriented-programming-reduce-software-complexity-isbn-9781617298578","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\u003eSeparate code from data\u003cbr\u003eRepresent data with generic data structures\u003cbr\u003eManipulate data with general-purpose functions\u003cbr\u003eManage state without mutating data\u003cbr\u003eControl concurrency in highly scalable systems\u003cbr\u003eWrite data-oriented unit tests\u003cbr\u003eSpecify the shape of your data\u003cbr\u003eBenefit from polymorphism without objects\u003cbr\u003eDebug 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\u003eForewords by Michael T. Nygard and Ryan Singer.\u003cbr\u003e\u003cbr\u003e\u003cb\u003eAbout the technology\u003c\/b\u003e\u003cbr\u003eCode that combines behavior and data, as is common in object-oriented designs, can introduce almost unmanageable complexity for state management. The \u003ci\u003eData-oriented programming\u003c\/i\u003e (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\u003cb\u003eAbout the book\u003c\/b\u003e\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\u003cb\u003eWhat's inside\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003eSeparate code from data\u003cbr\u003eRepresent data with generic data structures\u003cbr\u003eManage state without mutating data\u003cbr\u003eControl concurrency in highly scalable systems\u003cbr\u003eWrite data-oriented unit tests\u003cbr\u003eSpecify the shape of your data\u003cbr\u003e\u003cbr\u003e\u003cb\u003eAbout the reader\u003c\/b\u003e\u003cbr\u003eFor programmers who have experience with a high-level programming language like JavaScript, Java, Python, C#, Clojure, or Ruby.\u003cbr\u003e\u003cbr\u003e\u003cb\u003eAbout the author\u003c\/b\u003e\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 \u003ci\u003eData-Oriented Programming\u003c\/i\u003e workshops around the world.\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003ePART 1 FLEXIBILITY\u003cbr\u003e1 Complexity of object-oriented programming\u003cbr\u003e2 Separation between code and data\u003cbr\u003e3 Basic data manipulation\u003cbr\u003e4 State management\u003cbr\u003e5 Basic concurrency control\u003cbr\u003e6 Unit tests\u003cbr\u003ePART 2 SCALABILITY\u003cbr\u003e7 Basic data validation\u003cbr\u003e8 Advanced concurrency control\u003cbr\u003e9 Persistent data structures\u003cbr\u003e10 Database operations\u003cbr\u003e11 Web services\u003cbr\u003ePART 3 MAINTAINABILITY\u003cbr\u003e12 Advanced data validation\u003cbr\u003e13 Polymorphism\u003cbr\u003e14 Advanced data manipulation\u003cbr\u003e15 Debugging","brand":"Simon \u0026 Schuster","offers":[{"title":"Default Title","offer_id":48682833019109,"sku":"NP9781617298578","price":69.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/O_b906fddb-026a-4215-8c16-1b48a49329e0.jpg?v=1775168752","url":"https:\/\/k12savings.com\/es\/products\/data-oriented-programming-reduce-software-complexity-isbn-9781617298578","provider":"K12savings","version":"1.0","type":"link"}