This book is very interesting in that it doesn't tell you how to program in C++ but rather highlights why C++ is the way it is today. It starts with the very roots, an extension to the C language ('C with classes'') Bjarne devised back in 1979, because he faced a software engineering problem at the time where all currently available tools seemed inappropriate. This highly real world oriented design attitude was kept throughout the evolution of C++ - Bjarne specifically didn't want to produce an 'academic' language. This view and the absolute necessity for C compatibility and efficiency explain lots, if not all, of C++s more ugly syntactic and semantic constructs. While the book has chapters dealing with very specific parts of the language, I found the philosophical chapters the most interesting. These explain the author's personal views on programming and design in general and consequently why certain things were accepted or rejected into C++. Bjarne stresses the point that C++ was designed from the beginning to be a 'multiple paradigm' language. Object oriented programming was never meant to be, and is not, the only valid - holy grail - style of programming, that many make it out to be. It's quite frustrating to see features devised ten years ago still not properly supported by the current crop of compilers, templates for example (export anyone?). The book is not for the novice programmer, but for the experienced C++ user who wants to know the whys behind the language. While a novice might be interested in that information too, it is not an advisable lecture for those readers, since they might easily get confused with the source code examples showing directions in which C++ did not evolve. To quote one of the design goals: 'C++ is a general-purpose language designed to make programming more enjoyable for the serious programmer' - I think it succeeded.
Understanding the syntax of a programming language is not enough, especially a language as big as C++. This book is a materpiece of documentation on the history of what has made C++ what it is today. A rare piece of work - on the verge of being art, and a must for anyone considering getting involved with language development.
There are things that one just remembers about a langugage. But after reading this book (especially chapters 10 - 17), everytime I use a feature of C++, I know _why_ it is implemented the way it is. I recommend this book to people who like to "open the hood and look inside".
A masterful history of C++ from a personal perspective. I prefer this text to Stroustrup's "the C++ Programming Language". When one understands the philosophy of the creator the creation seems to fall into a clearer view.
I liked this book a lot. The only reason I didn't give it 4 stars is that it would be much more interesting now to hear Stroustrup's perspectives on the ANSI Standard, and particularly his thoughts on the inclusion of STL.
It's a history book on C++ showing why Stroustoup created C++ and how it went through all the incipient stages. Since it's rather old, it does not cover the final ANSI standard. But they might expand it, because they have no more work after the completion of the language:-) I would like to say thanks to B.Stroustoup, that he took the time to write this book. I'm somewhat older (39), and my generation is still consious of history and know that history is more, than version id's.
As a beginner in C++ design and programming, Dr. Stroustrup unique and inside perspective on the history behind the code really helped me to understand why decisions were made. Dr. Stroustrup's book also reveals some of his personal views on life, computers and programming. It is easy to see why C++ is like it is. An excellent choice for both C++ masters and beginners.