Object-oriented C++ Data Structures for Real Programmers


Book Description

Data structures play a key role in any serious development project, determining how the program acquires, stores, updates, and processes its in-memory data. Many of the basic techniques for constructing and governing access to data structures are well-documented, but most are structured programming techniques that do not translate well in an object-oriented environment. Object-Oriented C++ Data Structures for Real Programmers corrects this imbalance, teaching experienced C++ and Java developers the most effective methods for designing and implementing highly functional data structures in any type of object-oriented programming effort. The first part of the book introduces the various approaches, focusing on the purposes for which each is most suited. From there, the author examines advanced functionality that can be achieved in a number of ways, helping readers choose and apply the optimal technique. Key Features * Advanced coverage from an accomplished developer and programming author * Written explicitly for experienced object-oriented programmers * Helps you choose the best way to build the desired functionality, then provides the instruction you need to do it * Covers all major data structure approaches, including arrays, vectors, lists, stacks, and queues * Explains how to achieve a wide range of functionality, including data sorting, searching, hashing, dictionaries, and indexes




Data-Oriented Programming


Book Description

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#. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. 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. Table of Contents PART 1 FLEXIBILITY 1 Complexity of object-oriented programming 2 Separation between code and data 3 Basic data manipulation 4 State management 5 Basic concurrency control 6 Unit tests PART 2 SCALABILITY 7 Basic data validation 8 Advanced concurrency control 9 Persistent data structures 10 Database operations 11 Web services PART 3 MAINTAINABILITY 12 Advanced data validation 13 Polymorphism 14 Advanced data manipulation 15 Debugging




Object-Oriented Data Structures Using Java


Book Description

Continuing the success of the popular second edition, the updated and revised Object-Oriented Data Structures Using Java, Third Edition is sure to be an essential resource for students learning data structures using the Java programming language. It presents traditional data structures and object-oriented topics with an emphasis on problem-solving, theory, and software engineering principles. Beginning early and continuing throughout the text, the authors introduce and expand upon the use of many Java features including packages, interfaces, abstract classes, inheritance, and exceptions. Numerous case studies provide readers with real-world examples and demonstrate possible solutions to interesting problems. The authors' lucid writing style guides readers through the rigor of standard data structures and presents essential concepts from logical, applications, and implementation levels. Key concepts throughout the Third Edition have been clarified to increase student comprehension and retention, and end-of-chapter exercises have been updated and modified. New and Key Features to the Third Edition: -Includes the use of generics throughout the text, providing the dual benefits of allowing for a type safe use of data structures plus exposing students to modern approaches. -This text is among the first data structures textbooks to address the topic of concurrency and synchonization, which are growing in the importance as computer systems move to using more cores and threads to obtain additional performance with each new generation. Concurrency and synchonization are introduced in the new Section 5.7, where it begins with the basics of Java threads. -Provides numerous case studies and examples of the problem solving process. Each case study includes problem description, an analysis of the problem input and required output, and a discussion of the appropriate data structures to use. -Expanded chapter exercises allow you as the instructor to reinforce topics for your students using both theoretical and practical questions. -Chapters conclude with a chapter summary that highlights the most important topics of the chapter and ties together related topics.




Object-Oriented COBOL


Book Description

Walks COBOL users through the next phase of COBOL: Object-Oriented COBOL. Teaches how to integrate COBOL with object-oriented methodologies.




Mastering Algorithms with C


Book Description

Implementations, as well as interesting, real-world examples of each data structure and algorithm, are shown in the text. Full source code appears on the accompanying disk.




Clean Code


Book Description

This title shows the process of cleaning code. Rather than just illustrating the end result, or just the starting and ending state, the author shows how several dozen seemingly small code changes can positively impact the performance and maintainability of an application code base.




21st Century C


Book Description

Throw out your old ideas about C and get to know a programming language that’s substantially outgrown its origins. With this revised edition of 21st Century C, you’ll discover up-to-date techniques missing from other C tutorials, whether you’re new to the language or just getting reacquainted. C isn’t just the foundation of modern programming languages; it is a modern language, ideal for writing efficient, state-of-the-art applications. Get past idioms that made sense on mainframes and learn the tools you need to work with this evolved and aggressively simple language. No matter what programming language you currently favor, you’ll quickly see that 21st century C rocks. Set up a C programming environment with shell facilities, makefiles, text editors, debuggers, and memory checkers Use Autotools, C’s de facto cross-platform package manager Learn about the problematic C concepts too useful to discard Solve C’s string-building problems with C-standard functions Use modern syntactic features for functions that take structured inputs Build high-level, object-based libraries and programs Perform advanced math, talk to internet servers, and run databases with existing C libraries This edition also includes new material on concurrent threads, virtual tables, C99 numeric types, and other features.




Object Thinking


Book Description

Object Thinking blends historical perspective, experience, and visionary insight - exploring how developers can work less like the computers they program and more like problem solvers.




OBJECT-ORIENTED PROGRAMMING USING C++


Book Description

This compact book presents a clear and thorough introduction to the object-oriented paradigm using the C++ language. It introduces the readers to various C++ features that support object-oriented programming (OOP) concepts. In an easy-to-comprehend format, the text teaches how to start and compile a C++ program and discusses the use of C++ in OOP. The book covers the full range of object-oriented topics, from the fundamental features through classes, inheritance, polymorphism, template, exception handling and standard template library. KEY FEATURES • Includes several pictorial descriptions of the concepts to facilitate better understanding. • Offers numerous class-tested programs and examples to show the practical application of theory. • Provides a summary at the end of each chapter to help students in revising all key facts. The book is designed for use as a text by undergraduate students of engineering, undergraduate and postgraduate students of computer applications, and postgraduate students of management.




Learning Object-Oriented Programming


Book Description

Learning Object-Oriented Programming is an easy-to-follow guide full of hands-on examples of solutions to common problems with object-oriented code in Python, JavaScript, and C#. It starts by helping you to recognize objects from real-life scenarios and demonstrates that working with them makes it simpler to write code that is easy to understand and reuse. You will learn to protect and hide data with the data encapsulation features of Python, JavaScript, and C#. You will explore how to maximize code reuse by writing code capable of working with objects of different types, and discover the advantage of duck typing in both Python and JavaScript, while you work with interfaces and generics in C#. With a fair understanding of interfaces, multiple inheritance, and composition, you will move on to refactor existing code and to organize your source for easy maintenance and extension. Learning Object-Oriented Programming will help you to make better, stronger, and reusable code.