Advertisement
Membership
Login
ACCU Buttons
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.
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.
Title:
Win32 Multithreaded ProgrammingAuthor:
A Cohen&M WoodringISBN:
1 56592 296 4Publisher:
O'ReillyPages:
705pp+CDPrice:
£29-50Reviewer:
Francis GlassborowSubject:
MS Windows; advanced c++Appeared in:
10-6Books 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
xis 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
structI begin to wonder about the design. The body of the constructor contains a
whileloop which contains an
ifnested 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.