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:
CodeGuru.com Visual C++ Goodies
Author:
Nigel Quinnin/ Subject Editor
ISBN:
7897-2777-3
Publisher:
Que
Pages:
600pp+CD
Price:
£28-99
Reviewer:
Francis Glassborow
Subject:
advanced c++
Appeared in:
15-2
If you program for windows you should be familiar with
www.codeguru.com
. If you are not then you are missing a useful resource that could reasonably save you more time than it takes to keep an eye on what material has been posted there. Of course if you do check that site you will already know about this book and will probably have already decided if it is a suitable addition to your reference library.

The book is a collation of material from that site. As you might expect, much of the C++ source code is below the quality of what I would wish to see held up as an example. Right near the start we have a brief (yes ridiculously brief) introduction to what the collator describes as C++ essentials. In there you will find very little but even then we have flawed code. For example on page 11 we find:

class CcolorLine : public Cline {

public:

void Draw(long color);

};

Leaving to one side possible problems with deriving from a class that does not have a virtual destructor we have a second problem in that the base class has multiple constructors which all those reading this will know are not inherited so the authors claim:

Well, with this class we have all the functionality of our other class, but now we can use this other Draw() function that allows us to set the color.

That section is littered with raw pointers to dynamic objects and very little if any of the C++ source code in the book is exception safe, even at basic level. However much of the code isn't even C++, but is scripting code to program the Visual C++ IDE. All very useful to those that need it, but why not just place it on the CD, reduce the page count and focus more on explaining?

This book has little to offer those that do not use Visual C++. It also represents the quality and understanding of C++ that the above average user of VC++ has. However, many of those reading this will guess that I do not think that says very much. Their expertise with using VC++ is unquestioned, their understanding of how to get the IDE to work for them is excellent but the quality of their C++ is poor even when allowing for the things they must do to meet the needs of programming Microsoft Windows in a GUI, multi-threaded environment.

In general I think most people in the target audience would get better value by using the electronic source of the material. That way they could choose what they looked at from all that is available rather than rely on the selections of a single editor.

I have to admit that I am curious as to who is getting paid royalties for this book. I am also curious as to whether all those whose work is included gave permission for it because I cannot find any copyright information in the front matter.

Definitely not a book for anyone not using VC++, and I am less than enthusiastic for those that are. It may help you with some problems but it will not improve the quality of your work.