Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1918 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
The C++ Programming Language 3rd ed
B Stroustrup
Brian Bramer
beginner's c++; advanced c++; object oriented
Appeared in:
Since the publication of the second edition in 1991 the C++ language has not only been extended and refined but a standard library (based on the STL framework) specified. The third edition is a major rewrite, which is structured to make use of standard library facilities when presenting example code to support fundamental concepts.

The book starts with a discussion of the origins and development of C++, a review of programming paradigms (from procedural through to OO and generic) and how C++ supports these. The standard library is then described running quickly through I/O, strings, containers (vectors, lists, etc.), algorithms and iterators (operations such as copying, sorting, searching, etc.) and maths. This enables the use of powerful tools before having to understand implementation details (which many end-users may never do?). Part one then covers basic facilities (procedural programming?) describing types, pointers, arrays, statements, functions, etc. ending with a discussion on separate compilation and using header files (with all the problems that this entails). Part two then moves on to abstraction and the support for OO and generic programming (classes, inheritance, templates and class hierarchies). Part three covers the standard library and part four is a short discussion on design. Although the C++ language is described the book emphasises design and use, describing not only how to do something but also when and why to use a particular construct or facilities and what the possible alternatives are (and what pitfalls they may lead too).

I liked the structure of the book with part one taking the reader through traditional procedural programming techniques and then moving onto OO in part two. This enables readers to use and appreciate objects without having to plunge into the implementation details of classes. I am aware many OO enthusiasts disagree with such an approach saying that students should be implementing classes from day one (before they know how to write basic expressions and implement simple functions?) A book for the professional programmer and an excellent reference to the standard library. Not suitable for students learning C++ unless very experienced and good programmers.