Average Reviews:
(More customer reviews)The stated purpose of this book is to teach data structures and the use of the C++ Standard Template Library (STL) at the same time. Judging by the first chapter only (by the time I got to page 23, I was so disgusted I logged in here to write this review), it fails on both counts.
The writing style is an awful combination of chatty (exclamation points are scattered throughout the text) and deliberately over-technical. In just one example, the authors use the word "syntactically" four times in six sentences for no reason; the sentences would be utterly unchanged in meaning by taking them out. That's the kind of writing I've seen from students who are attempting to make themselves sound knowledgeable when they aren't really sure of their ground or don't know how to express concepts in clear, simple language.
The lack of clarity is bad enough, but on top of that there are several typos and factual misstatements just in the small section of the text that I read.The opening lines of the foreword:
"A knowledge of data structures has been a fundamental part of every Computer Science curriculum since the early days of PLI and Pascal. Of course, data structures in [sic] now taught using the C++ language."
So I take it no one teaches data structures in Pascal anymore? In C? In Java?
The authors then go on to talk about misuse and ignorance of C/C++ features and use as their example the perfectly correct line of C/C++ code:
iaccumulator = iaccumulator + 1;
They state that using this instead of
iaccumulator++;
is incorrect, because the postfix operator "efficiently instructs the compiler to delete the double fetch/decode of the incorrectly written translation, and to treat the variable iaccumulator as its name implies -- as an accumulator within a register, a much more efficient machine language encoding."
This is ridiculous. First of all, any halfway-decent optimizing compiler should translate the first version just as well as the second. In any modern machine with a decent number of GPRs, if the variable was being used frequently it would be kept in a register anyway. Not to mention that at least half the target audience for this text (students with basic C++ experience taking a data structures class) would find this a completely incomprehensible explanation.
The example code is badly formatted (excessively-long lines, inconsistent indentation, poorly-placed comments) and inelegant. I came across at least one typo in the code that was not only confusing but would not have compiled, so it's fairly clear that the authors didn't try out all of the code in the book. Judging by the number of typos in general, that means that the code isn't reliable.
I strongly advise anyone against purchasing this book. If you're looking for a good data structures textbook, I would suggest Sedgewick's Algorithms in C (parts 1-4). That book is lucid, well-organized, with many very elegant, concise, and correct code samples.
Click Here to see more reviews about: Data Structures with STL
*Learn data structures and the C++ Standard Template Library together! *Teaches the advanced C++ features you need to know first *Easy techniques based on real code examples *Supercharge C++ code performance-and your own productivity!Supercharge your C++ code! Master data structures and STL together! When you understand data structures, you can command many of the most powerful, efficient algorithms ever created! Better yet, the C++ Standard Template Library bundles dozens of these advanced algorithms in a simple, reliable, easy-to-use form. Now, you can learn data structures and STL together, with the first book that teaches them both: Data Structures with STL! Renowned programming instructors William Murray and Chris Pappas begin with the intermediate-to-advanced C++ features you'll need to know first, including namespaces, void * pointers, generic types, and template development.Then, using extensive code examples, they introduce every aspect of working with data structures and STL:*Understanding STL extensible framework and components *Working with STL: containers, iterators, and algorithms *Dynamic memory allocation/deallocation *STL-based portable solutions for array creation, element insertion/deletion, sorting, element output, and more *Clean, seamless integration of iostreams and exception handlingNow's your chance to supercharge the performance and reliability of all your C++ code-and dramatically enhance your own productivity at the same time.Data Structures with STL shows you how-more simply and easily than you ever thought possible!
Click here for more information about Data Structures with STL
0 comments:
Post a Comment