The Design and Evolution of
C++ is
Bjarne Stroustrup's book about the design and evolution of C++. The book is split into two main sections, one of which is a roughly chronological history of the language, from
pre-history to a look at what the
future may hold. The second part of the book deals with specific features of the language, and their
design and
implementation (features covered:
memory management,
casting,
overloading,
namespaces, class concepts,
multiple inheritance and the
C preprocessor.
The book is wonderfully written and is liberally scattered with Bjarne's musings on language design, and how he sees it as a matter of philosophy and sociology as well as engineering. Code examples accompany all sections, and intermediate level programmers will learn quite a lot about what is possible in C++ by looking at the examples.
Recommended read for anyone interested in language design, programming C++ or OOP.