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
STL Tutorial and Reference Guide 2ed
Musser, Derge&Saini
0 201 37923 6
Francis Glassborow
advanced c++
Appeared in:
The first edition of this book has always been held in high regard but was dated almost before it was published because the C++ Standards Committees altered the original STL in a lot of ways. The principles were retained but the detail was altered. With the publication of such books as Matt Austern's 'Generic Programming and the STL' and Nico Josuttis' 'The C++ Standard Library' the earlier edition lost most of the relevance that it had to the needs of the working programmer.

Now the original duo of authors have been joined by Gillmer Derge and done a very substantial review of the original text. While the framework is recognisably the same they have added detail, smoothed rough edges in the text and substantially improved the sample code. They have also been strongly influenced by Knuth's Literate Programming. I think the end result is a book that comfortably sits along side the books from Austern and Josuttis.

One question that will spring to your mind is how this book is different from the other two. That is an important question. The C++ Standard Library is substantially a reference book that aims to help the competent C++ programmer to use elements of the C++ Standard Library effectively. It does an excellent job but is not primarily a tutorial despite that aspect being included (and referred to in its sub-title). It certainly is not a book about generic programming.

Austern's book is very much about generic programming and focuses on teaching you about the way that programming paradigm is implemented in the STL, before providing you with simple documentation of the realisation of the STL. If I want to know how to add a new component to the STL so that it will work consistently in the existing framework and leverage of what is already there, it is Austern's book that I will reach for.

By now you should realise that there is a hole (partly covered by Leen Ammeraal's 'STL for C++ Programmers') and that is a simple tutorial on using the STL. This book now plugs that gap.

The authors have worked hard to ensure that they use the STL as specified by the C++ Standard. The early chapters introduce the various aspects and have well-written examples to help the reader understand what is going on. In the second part of the book they focus on using the STL. This is very much the part of the book that will reward diligent readers. One aspect of Literate Programming is that you have to read to understand what is going on and cannot simply grab a chunk of code. In my view this is a positive aspect, but not everyone will see it that way.

While I think the second part of this book is by far the best, I think I would defer to one of the other books I mentioned above when I needed a reference. The reference material here is adequate, and makes sense in the context of providing the student with all the essentials between one set of covers. However I prefer something rather more detailed when it comes to a permanent reference.

The promise of the first edition of this book has been realised in this second edition. If you want a book to learn about using the STL this is about as good as you are likely to find.