ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Google+ ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

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++ Standard Library from Scratch
Pablo Halpern
0 7897 2128 7
Francis Glassborow
reference; beginner's c++
Appeared in:
When I first heard of this title my instinctive reaction was that it would be another waste of trees. For those that need an authoritative tutorial and reference for the C++ Standard LibraryThe C++ Standard Libraryby Nicolai Josuttis will be very difficult to beat. I am telling you this so that you will know the mind set I had when I picked this book up.

I do not think it is entirely my fault that I started with this expectation, I think the title has a lot to answer for. This is not a definitive tutorial nor is it any form of reference. On the other hand neither the author not the publisher claims that it is. The publisher classifies it as 'Beginning' level but mars that by saying that it covers 'the ANSI/ISO C++ Standard Library'. It does not. What it does is act as a good introduction to using the C++ Standard Library for relatively inexperienced C++ programmers.

The text is based round developing a small application (a small Personal Information Manager, TinyPIM). This means that various features of the Standard Library are introduced as solutions to design and implementation problems. I am a fan of this type of tutorial approach and I think the author has executed it well for his target readership. By the time a reader has worked through the text they will be motivated to buy an authoritative text such as that by Josuttis. I would hope they would then progress to adding Matt Austern's Generic Programming and the STL to their programming books.

Now let me warn you that I disagree with some aspects of the text. I do not like the use of friend to provide such things as insertion and extraction operators. There are several other style issues of that kind (you know that I prefer the rigid placement of cv qualifiers to the right of the thing they qualify).

I think my other complaint is a little more serious, I strongly object to seeing code littered with include guards that use lowercase letters. There is a de facto standard for include guards and the sooner new programmers get in the habit of using it the easier they will find writing code that conformsto the industry norms. The industry standard is not arbitrary but based on experience and it works.

My last caveat is the author's use of specifically MSVC++ #pragmas. He carefully provides those as conditionally inclusions - quite unnecessary as #pragmas are designed so that they do not need to be surrounded with #ifdef...#endif. Worse is that this provides special support for a single product.

In conclusion, this is a fundamentally good text for its target readership. However, it is marred by some of the detail. It achieves what it set out to do but along the way it exposes the novice to some bad or debatable coding habits.