Å·±¦ÓéÀÖ

Jump to ratings and reviews
Rate this book

API Design for C++

Rate this book
API Design for C++ provides a comprehensive discussion of Application Programming Interface (API) development, from initial design through implementation, testing, documentation, release, versioning, maintenance, and deprecation. It is the only book that teaches the strategies of C++ API development, including interface design, versioning, scripting, and plug-in extensibility. Drawing from the author's experience on large scale, collaborative software projects, the text offers practical techniques of API design that produce robust code for the long term. It presents patterns and practices that provide real value to individual developers as well as organizations. API Design for C++ explores often overlooked issues, both technical and non-technical, contributing to successful design decisions that product high quality, robust, and long-lived APIs. It focuses on various API styles and patterns that will allow you to produce elegant and durable libraries. A discussion on testing strategies concentrates on automated API testing techniques rather than attempting to include end-user application testing techniques such as GUI testing, system testing, or manual testing. Each concept is illustrated with extensive C++ code examples, and fully functional examples and working source code for experimentation are available online. This book will be helpful to new programmers who understand the fundamentals of C++ and who want to advance their design skills, as well as to senior engineers and software architects seeking to gain new expertise to complement their existing talents. Three specific groups of readers are practicing software engineers and architects, technical managers, and students and educators.

472 pages, Paperback

First published January 1, 1996

30 people are currently reading
178 people want to read

About the author

Martin Reddy

4Ìýbooks1Ìýfollower

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
57 (38%)
4 stars
57 (38%)
3 stars
28 (18%)
2 stars
6 (4%)
1 star
2 (1%)
Displaying 1 - 14 of 14 reviews
203 reviews
October 14, 2011
5/10

I learned almost nothing from this, maybe the inevitable consequence of spending so much of my life at this game. You just can never tell until you've been through it.

A useful compendium of best practices for any novice though. Succinct, well organised and competently written. But oh how I wish for something of the quality of a Jon Bentley or a Herb Sutter.



This entire review has been hidden because of spoilers.
Profile Image for Ondrej Sykora.
AuthorÌý4 books14 followers
April 21, 2014
In practice, this is more a book of good development practices, a bit like Code Complete, but more concise and slightly directed towards public API development.

I didn't learn anything new, but it's a nice compilation and might be worth for beginners.
69 reviews
January 26, 2019
I haven't read this book cover to cover as I was already familiar with some of the concepts, like the design patterns.
But being primarily a developer for C APIs, I found this book immensely useful when given the task to design a C++ API. Accidentally breaking backward compatibility is probably the biggest nightmare of any SDK developer, and this book extensively covers what you need to do to avoid it.
I didn't know the ABI compatibility is so fragile in C++, and I'm sure the book has saved me a lot of headaches. After reading it I really understand why some people choose to expose their API in C even though what's underneath is full C++.
164 reviews
April 3, 2020
There are a lot of good ideas in this book, though I feel the author is more mistrusting of the users of his APIs than I tend to be.
10 reviews
February 11, 2022
This book discussed many topics in programming in general and C++.
1 review
December 30, 2015
This is a really easy read. Nothing complicated, just good advices. Most of them things that I've been implementing, or already knew. But it's always interesting to reinforce our knowledge. I feel it's a book that all software engineers should read. The world would be a better place if they followed the advice herein.

The only thing I would say is arguable is the treatment of copy-on-write (COW). The opinion expressed by this author doesn't consider the arguments given by Sutter in "More Exceptional C++" item 16. The dangers of COW in multi-threaded environments.
Profile Image for Frederic.
30 reviews9 followers
August 31, 2014
Good resource for beginners, but I learned almost nothing.
87 reviews5 followers
March 27, 2015
Good book to check C++ related knowledge coverage, to spot a gaps.
Profile Image for Oleg Sych.
33 reviews
September 13, 2015
Great first few chapters with practical advice on C++ API design; rest of the book devolved into high-level rehash of other works, a lot of it out of date.
35 reviews1 follower
January 25, 2016
A must read for any C++ programmer. It basically ensures that the stuff one's suppose to be aware of and know in-depth are still in the attic of the mind. It's definitely one for the shelf.
Profile Image for Ayush Tomar.
1 review
July 21, 2016
Well written and easy to read. Beginners can learn a lot from this book.
Displaying 1 - 14 of 14 reviews

Can't find what you're looking for?

Get help and learn more about the design.