ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib 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 1949 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
Title:
C/C++ Annotated Archives
Author:
Art Friedman
ISBN:
0 07 882504 0
Publisher:
Osborne
Pages:
750pp+CD
Price:
$49.99
Reviewer:
Francis Glassborow
Subject:
beginner's c++
Appeared in:
12-1
Herb Schildt contributed two chapters and a Foreword to this book. Let me quote the first two sentences of the latter:

This is a book by C/C++ programmers for C/C++ programmers. In its 16 chapters you will find some of the most interesting, intriguing, and useful code available anywhere.

Well the first sentence is at best only 50% correct because there is absolutely nothing in this book for a C programmer, though I can believe that some of it is C++ written by a C programmer. The second sentence probably says more about the writer than about the source code in the book.

Chapter 1 (by Art Friedman) is titled 'Sorting'. Now any respectable C++ programmer knows that all the standard tools for sorting have been provided by the algorithm section of the STL (which this book ignores until chapter 15). Knowing this you might expect this chapter to introduce the various sorts provided by the STL and then proceed to cover some others that would be useful in special circumstances. You would be sadly disappointed. The chapter starts with a 'Bubble Sort' (just about the worst variation, where no attempt is made to track the range of the list still unsorted). The author says nothing about when this algorithm might be useful (it is the optimum algorithm for short lists that are almost always already sorted, and only have a single miss-placed element most of the rest of the time).

His next offering is for a selection sort, another very poor algorithm (anyone know of an example where it performs well?). He follows with two examples of a Quicksort and concludes with a Mergesort. He never covers the problems of stable sorting, nor the problem of sorting in cases where the data is toolarge to reside in main memory. In other words the chapter is completely useless to any programmer who has even a rudimentary grasp of using the resources that come with your C++ compiler (an implementation of the Standard C++ Library).

Chapter 2 (linked lists), 3 (binary trees) and 4 (hash tables and sparse arrays) - all by Art Friedman, suffer in similar ways. The author completely ignores the existence of the STL and so none of his designs are compatible with STL algorithms.

No doubt if you look hard enough you may find something useful in this book but I doubt that it is worth the effort. If you would like some extras to add to what is already in the Standard C++ Library you could do much worse than visithttp://www.boost.org/where you will find material being developed by World class experts (mostly members of the Library group from WG21&J16). These extras are designed to work with what you already have (and I guess quite a bit will go into the next C++ standard).

In conclusion, give this book a miss, there is (much) better available elsewhere.