As software becomes increasingly distributed, high-quality infrastructure becomes ever more important. Precisely written, replete with advanced code examples, and based on Randall Maddox' extensive experience teaching advanced C++, this book gives working C++ developers the insights and sophisticated techniques they need to build superior software infrastructure. Maddox begins by introducing the context required to support a distributed Web application in a Unix environment. He then presents the utility classes that illustrate crucial design and implementation issues and serve as building blocks for a distributed software architecture. Coverage includes concrete data types, templates, containers, namespaces, error handling, and an automated solution for the hazards of dynamic memory allocation. Maddox reviews C++ program startup and memory usage in detail, laying the groundwork for a full of understanding of multiprocessing, multithreading, and interprocess communication. Unlike most advanced C++ books, Distributed Application Programming in C++ goes beyond coding, introducing superior strategies for enterprise software development. Maddox presents key design/implementation tradeoffs, managing source code organization, build-time issues, the run-time environment, and more. For all professional developers who want to master the use of advanced C++ features in real-world distributed applications.
RANDALL A. MADDOX is a consulting software engineer who has worked on a wide range of projects, including Web applications, distributed systems, client/server systems, embedded systems, and database applications. In addition to working on real projects, he also teaches a 16-week C++ class to working enterprise developers.