Home - Languages & Tools

Click for larger image API Design for C++

API Design for C++

Price: $59.95

& 2-Day * Free Nationwide Shipping! (* details)

Availability: Usually ship in 24 hours if sold by Amazon.com

Buy from amazon.com

Tags:

Product Details

Binding:

Kindle Edition

EAN:
Label:

Morgan Kaufmann

Feature:
Publisher:

Morgan Kaufmann

Studio:

Morgan Kaufmann

Editorial Reviews

The design of application programming interfaces can affect the behavior, capabilities, stability, and ease of use of end-user applications. With this book, you will learn how to design a good API for large-scale long-term projects. With extensive C++ code to illustrate each concept, API Design for C++ covers all of the strategies of world-class API development. Martin Reddy draws on over fifteen years of experience in the software industry to offer in-depth discussions of interface design, documentation, testing, and the advanced topics of scripting and plug-in extensibility. Throughout, he focuses on various API styles and patterns that will allow you to produce elegant and durable libraries.




  • The only book that teaches the strategies of C++ API development, including design, versioning, documentation, testing, scripting, and extensibility.

  • Extensive code examples illustrate each concept, with fully functional examples and working source code for experimentation available online.

  • Covers various API styles and patterns with a focus on practical and efficient designs for large-scale long-term projects.

Customer Reviews

It's a neatly assembled volume of everything I wish I'd known when I began my career as a software engineer. I picked up a copy for myself and will pick up a few more for friends!
API Design for C++ is a book that summarizes what has been published in the last 20 years on C++ that has had impact in the industry, from The C++ Programming Language: Special Edition by Bjarne Stroustrup, Advanced C++ Programming Styles and Idioms, by James Coplien, Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition), by Scott Meyers, and all of the books in Exceptional C++ from Herb Sutter (Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions being the last one of them). Other excellent references are C++ Templates and Modern C++ Design. You'll get a tour through Design Patterns and several other technologies, techniques, idioms and simply best practices to design an API.

Writing software is hard, but writing a book on software, and particularly C++, and combined with good writing skills is even harder. Martin did an excellent job on both. I took the time to read the book end to end (Kindle version) and provided commentary to the author on different areas, and learned a lot, particularly from the latter chapters on performance, test and multi-platform design.

As a software architect, having written software in C++ for the public safety industry (9-1-1) since 1996, and large APIs that have been in active service for the last 12 years and have serviced millions of 9-1-1 calls across the country, I know how important it is to write software that is correct, intuitive, extensible, performing and testable. Nothing drives this point home than when it is personal: the software I wrote in C++ has serviced 9-1-1 calls for my family. At the time I had John Lakos' book with me, and I wish I had had Martin's, too.

There hasn't been a book on API design for C++ in years and its really a long time coming. Having read 4 chapters so far, i've been very pleased with the quality of the content and the clarity of the presentation. Having worked in a team adjacent to Martin's in Linden Lab, i would say my take on his approach is more than pleasing - in fact, i thought he combined the best techniques to Second Life. The chapters that appealed to me are 5, 10, 11 & 12 as he's the first author (afaik) to bring in the subjects of extending C++, integrating C++ with other languages like Python & Ruby via SWIG. Really looking forward to completing the book and applying the lessons learnt to my current and future projects.

Go get it people!
I have read the first few chapters and so far and I have to say it's great. I definitely recommend this book.
 
Share your thoughts with other customers
Create your own review