Angelika Langer - Training & Consulting

 
HOME | SEMINARS | TALKS | ARTICLES | BOOKS | LINKS | IOSTREAMS | GENERICS | ABOUT | NEWSLETTER | CONTACT | SITEMAP
Book Review - STL Tutorial and Reference Guide

Books  
HOME 
SEMINARS 
TALKS 
ARTICLES 

BOOKS

  OVERVIEW
  REVIEWS

  BIBLIOGRAPHY    
    J2SE
    J2EE
    CORE C++
    STL
    TEMPLATES
    IOSTREAMS
    CONCURRENCY
    I18N
    PATTERNS
    OOA/OOD
    TESTING
    MANAGEMENT
 

LINKS 
IOSTREAMS 
GENERICS 
ABOUT 
NEWSLETTER 
CONTACT 
SITEMAP 
Book Review - STL Tutorial and Reference Guide
   
  Book Review of the week  
 
 
  STL Tutorial and Reference Guide, Second Edition
  By David R. Musser, Gillmer J. Derge, Atul Saini
  Reading,MA:Addison-Wesley
  ISBN 0201379236
  560 pages 
  Price: $44.95 
(Reviewed 11/15/01) 
 
Revised Edition of One of the Best Tutorials on the STL
A very accessible and practical first-time exposition to the STL for novices

T his is the long-awaited second edition of the STL Tutorial and Reference Guide . Its predecessor was published in 1995, shortly after the STL had been adopted as part of the C++ standard, and was the first authoritative books about the STL. David Musser, who is one of the authors, is also one of the originators of the STL. 

In those six years since the first edition came out, a number of excellent STL books have been published by other brilliant authors, most notably Matthew Austern's Generic Programming and the STL and Bill Plauger's The C++ Standard Template Library as well as Scott Meyers's Effective STL . Yet the STL Tutorial and Reference Guide continues to stand out as one of the best tutorials on the STL. By comparison, the other titles are either special-purpose books about the implementation of the STL (e.g., Bill Plauger) or traps and pitfalls in the STL (e.g., Meyers), or else they present the STL from a mainly conceptual point of view as an example of generic programming. All these books are wonderful and invaluable, but they are not tutorials and cannot be recommended to beginners. 

STL Tutorial and Reference Guide is written for programmer who have grasped the basic concepts of C++ and want to learn about its main library classes?namely the containers and algorithms that are known as the STL. Guru knowledge of C++ is not required. The STL makes heavy use of C++ templates and practically all template features are used inside the STL. As a user of the STL, such profound knowledge of templates is not required for reading this book. In fact, crucial features of C++ templates are described in one of the early sections long before the book delves into any details of the STL. 

This book falls into three major parts: 

  • An introduction to the STL that describes all of its components
  • Sample programs that demonstrate how to use the STL in practice
  • A reference guide that lists all APIs along with a brief description 
The most interesting part of STL Tutorial and Reference Guide is the introduction to the STL. It begins with an explanation of what generic programming is and why the STL differs from classic object-oriented libraries. It then goes through all the components of the STL and explains them one after the other. The second part puts all the pieces together and discusses eight sample programs. The size and style of the samples is ideal for novice readers?neither too primitive nor too detailed?and yet you find examples of basically everything you need to know, from use of container and algorithms up to implementation of a user-defined iterator type. The reference part is not overly exciting; it is what you would find in every online manual of the STL anyway (see SGI's Standard Template Library Programmer's Guide for an HTML version). 

Those readers who are familiar with the first edition will find a few new things in the second edition. Besides covering updates in the STL, there are some new sections in areas where the first edition was extremely brief. For example, there is more on function object types and allocators than before. Two further sample programs are discussed and a reference guide to the standard string classes is provided in an additional appendix. 

The STL Tutorial and Reference Guide is still one of the best introductions to the STL. Even though the first edition is only slightly outdated, the second edition is unreservedly recommendable as a tutorial to the STL. Programmers who have already been using the STL might find the book too basic, but it is a very accessible and practical first-time exposition for novices. 

Angelika Langer develops and teaches classes on Java, C++, multithreading, and internationalization. She is an internationally recognized speaker and served on the ANSI/ISO C++ Committee from 1993 to 1998. Klaus Kreft is a software architect and senior consultant with 15+ years of experience in industrial software development. He currently works for Siemens Business Services in Germany. Langer and Kreft are authors of "Standard C++ IOStreams and Locales" (Addison-Wesley, 2000) and are columnists for the C/C++ Users Journal. 

 

 
© Copyright 1995-2003 by Angelika Langer.  All Rights Reserved.    URL: < http://www.AngelikaLanger.com/Articles/Reviews/Musser/review.htm  last update: 29 Oct 2003