ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Google+ 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 1918 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:
Win32 Multithreaded Programming
Author:
A Cohen&M Woodring
ISBN:
1 56592 296 4
Publisher:
O'Reilly
Pages:
705pp+CD
Price:
£29-50
Reviewer:
Francis Glassborow
Subject:
MS Windows; advanced c++
Appeared in:
10-6
Books like this irritate me. The authors know what they are writing about and their general text is informative and readable. What muddies it all is the source code. Part of the problem comes from Microsoft's horrible coding style. They will insist on using all upper case identifiers for things that are not pre-processor identifiers. All upper case is tiring to read at the best of times but for excellent reasons C allocated its use to a very specific purpose (what you see is not what the compiler sees). However that is not an excuse for the authors following Microsoft's bad example.

Another irritant is coming across pages of purposeless output. What conceivable benefit does the reader get from two and a half pages of output the last 77 lines consist of:

Executing job<This is job x>

where

x
is replaced successively by the integers 24 to 99 (that is 76 lines, the last one is
DPQ2 thread exiting
) This is not the only example of sheer space filling. Commenting has been completely abused. For example, on page 432, we have a function in which the first line of the function is separated from the next by 19 lines of comment. The comment is tutorial and so does not belong as a comment. Large blocks of comment obscure the code and make it harder to follow. The sheer complexity of some of the code leaves me worried. Seeing a constructor for class with ten initialisers (some empty) is a little worrying. But when I look back and find that the class has both a public and a private base (multiple inheritance) and contains two private classes, one of which itself contains a private class that contains a private
struct
I begin to wonder about the design. The body of the constructor contains a
while
loop which contains an
if
nested in an
if
.

This basically good book on an important subject is been marred by poor presentation and coding style that makes it hard work to read. I am far from convinced that this complexity is essential to the subject.

If someone volunteers to provide a second opinion, I would be happy to let them have the review copy.