Book Review: The Design and Evolution of C++
by
, 02-03-2009 at 08:44 AM (440 Views)
First off, I'm giving this a 5 of 5 rating.
This is an excellent book for understanding why C++ works the way it does. It is NOT a book to help you learn C++. Part of the reason is that the book was written in 1994, 3 years before the ISO standard was finalized, and 4 years before it was made official. As a result, there is a lot that changed between the publishing of this book and the finalization of the C++ standard.
What this book does is take you through Bjarne Stroustrup's development of C++ from C. It shows you the sequence of ideas, why features were added, when they were added, and why they were implemented the way they were. It does not explain all the nuances of various features, however.
If you are not familiar with C++, I would recommend that you learn C++ first. Then you can read this and understand what the concepts are, and even where they went since publication (such as the invention of the std:: namespace). For example, you will learn about why Bjarne despises macros so much, and what language facilities were created to make macros almost completely unnecessary. You will also learn about some of the things that didn't make it into C++ and why they were excluded.
One of the things that I found particularly enjoyable was discovering the concern that has been applied to making C++ powerful, but still fast and efficient. Every feature has been crafted with an eye towards protecting users from paying for features they don't use, and making sure that C++ is competitive with C in efficiency (often producing the same code), while being less error-prone than C (due to stronger type rules).
This book has greatly improved my appreciation for C++, and I highly recommend it to C++ fans everywhere.










