AnyBook4Less.com | Order from a Major Online Bookstore |
![]() |
Home |  Store List |  FAQ |  Contact Us |   | ||
Ultimate Book Price Comparison Engine Save Your Time And Money |
![]() |
Title: STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library (2nd Edition) by David R. Musser, Gillmer J. Derge, Atul Saini, Gilmer J. Derge ISBN: 0201379236 Publisher: Addison-Wesley Pub Co Pub. Date: 27 March, 2001 Format: Hardcover Volumes: 1 List Price(USD): $44.95 |
Average Customer Rating: 3.33
Rating: 4
Summary: Useful, but not Handy
Comment: John's reviews are interesting. While I agree with many of the points he makes, I disagree with some. And I found a few to be self-contradictory.
He says, for instance, that "This is a good solid book that will get you up to speed quickly on all the important ideas in STL, and many of its basic usage idioms", but then naievely claims that "there aren't any higher level ideas than those presented here". Does the book cover only basic concepts, or is it that if the book doesn't cover it, it is not knowledge?
The book is full of concrete examples. But my problem was that they were trivial. Reversing or sorting or finding characters within a string is great fun. But it doesn't help me understand who owns the memory within a container. Or how to directly and safely reference an element at an arbitrary position within a container outside of an iteration loop. A majority of the examples use trivial intrinsic datatypes for contained elements; how is using a struct or class different?
All of those issues are important aspects of using the library, and not something I think a busy reader should leave to "a little imagination". While most of the disputed facts are eventually available in the text, they're not easy to find. The organization of the book isn't quite intuitive enough to make it a thoughtful reference or a breezy tutorial.
And, in many cases, once found, they're not clear. John cited page 151 for an explanation of the differences between some of the collections. There, it says "With maps an multimaps, the data items are pairs of keys and data of some other type..." What's that mean? Two keys and data of some other type? Or a key and data of some other type? Does "pairs" mean "two", or an instance of the "pairs" utility class?
The book really is missing information. None of the examples do any error checking whatsoever, and the exceptions that the templates throw aren't described. (Maybe, like priority queues, error handling was formalized after the book went to press. It is showing its age, and there's now a 2nd edition. I haven't purchased it.)
It's ambitious to write a book that tries to serve as both a tutorial and the reference. (Me, I think it's just impossible.) This book does very well, but falls short of adequately completing either goal.
I think that there's a bias against this book because it doesn't fit well with the way these reviewers would have liked to learn the subject at hand. I know that's where I landed. While true masters do indeed make it look simple, making it look simple doesn't help learning. Otherwise, we could all watch Tiger Woods for a few Sundays before taking home a Buick and a six-figure check.
Rating: 5
Summary: incorrect reviews
Comment: Just a few more points, to refute earlier incorrect reviews:
One reviewer said: "For instance, in the detailed presentation of sets and multisets, nowhere is it mentioned what the difference between the two is. You have to go to the "Overview of STL components" to get the information."
This is incorrect: the authors cover the difference numerous places (and most people can guess what the difference is). See for example pages 118 and 151 (the latter being the section explaining set, multiset, and map).
Another reviewer said: "...it fails to mention several large chunks of STL that you could immediately use, including the functionals and some very useful pieces (strings (with iostreams), bit sets, fstreams, locales, limits, etc)."
This also is incorrect and misleading. Most of the items above are not part of STL, but rather the standard C++ library, so of course the authors don't discuss them. Also, presumably by "functionals" the reviewer means function objects, or function adaptors. Both of these are well coevered in the book.
Another review stated: "If you look for some concrete examples then this book isn't it."
This is hard to accept: almost every page of this book contains carefully chosen example code illustrating the point at hand. Even a little imagination should suffice to adapt it to your particulars.
And finally: "While this book might help you use STL containers in straightforward circumstances, it doesn't contain enough theory to give you mastery of the topic."
Also hard to accept. This book covers as much theory as there is to present; there aren't any higher level ideas than those presented here. For example, they take great pains to explain why there is a separation of algorithm and data structure, and to illustrate the pivotal role iterators play in organizing the library, to ensure (mostly) that the right algorithms are used with the right containers. If one looks for even deeper meaning, well, most of us don't know any, so feel free to write a book on it when you find it.
Seems like people are really biased against this book. Again, it's a really good introduction to the fundamentals. Sorry to see it get trashed.
Rating: 5
Summary: Well-written coverage of most of what you need to know
Comment: I'm astonished by the abundance of IMO very ignorant reviews of this book. 4.5 stars might be the ideal rating, but given all the other excessively negative reviews, I opted for 5 rather than 4.
This is a lucid, very well-written book, with plenty of sage advice. It introduces the concepts gently, but without excessive redundancy or hand-holding. The examples are well chosen, and illustrate their points (although in some places, there is a bit much duplication for my taste, but that too serves to illustrate the uniformity of STL). This book is clear, to the point, and covers most of the essential subjects amply (it's s bit weak on storage management, but as the authors mention, rarely will you need to write your own allocators). And it includes a minimal - but perfectly functional and adequate - reference section. The presentation is well organized, and procedes at a moderate pace.
As one who has written a couple data structure libraries of his own, and who has taken to heart (in spite of C++ being a mess of a language, and templates being fundamentally a kludge) the sophistication of STL, I can safely say it incorporates many ideas that other programmers need to know, and probably do not appreciate fully. This book does a good job explaining some of the deeper motivations behind STL's design. As they say, a true master makes it look simple, and that's what both the authors of STL and this book achieve.
It is true that the book is slightly out of date, but not with regard to the fundamentals. All of the key ideas you learn from this book apply to the latest revisions and any programmer worth his weight in, uh, salt can easily figure out the minor differences.
I recommend this book to those who like insight, and succinct clarity, and who eschew the typical computer book, full of facts, hype, and verbosity, but little illumination, progressing by baby steps. This is a good solid book that will get you up to speed quickly on all the important ideas in STL, and many of its basic usage idioms.
![]() |
Title: Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library by Scott Meyers ISBN: 0201749629 Publisher: Addison-Wesley Pub Co Pub. Date: 06 June, 2001 List Price(USD): $39.99 |
![]() |
Title: The C++ Programming Language (Special 3rd Edition) by Bjarne Stroustrup ISBN: 0201700735 Publisher: Addison-Wesley Pub Co Pub. Date: 15 February, 2000 List Price(USD): $64.99 |
![]() |
Title: The C++ Standard Library: A Tutorial and Reference by Nicolai M. Josuttis ISBN: 0201379260 Publisher: Addison-Wesley Pub Co Pub. Date: 12 August, 1999 List Price(USD): $59.99 |
![]() |
Title: Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition) by Scott Meyers ISBN: 0201924889 Publisher: Addison-Wesley Pub Co Pub. Date: 1997 List Price(USD): $37.95 |
![]() |
Title: More Effective C++: 35 New Ways to Improve Your Programs and Designs by Scott Meyers ISBN: 020163371X Publisher: Addison-Wesley Pub Co Pub. Date: 1995 List Price(USD): $44.99 |
Thank you for visiting www.AnyBook4Less.com and enjoy your savings!
Copyright� 2001-2021 Send your comments