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:
Jamsa's C/C++ Programmers Bible
Author:
Kris Jamsa&Lars Klander
ISBN:
1 884133 25 8
Publisher:
Jamsa Press
Pages:
925pp+CD
Price:
£??
Reviewer:
Francis Glassborow
Subject:
beginner's c; beginner's c++
Appeared in:
10-4
This is a massive tome that attempts to cover a vast amount of ground. Were it substantially accurate it would be a worthy addition to any programmer's bookshelf. Unfortunately one of the consequences of running a press to publish your own work is that you may not always do the work required to move a manuscript from a working draft to a polished product.

The lead author of this book established a sufficient reputation with his early work to attract other publishers into handling the distribution of his company's books. On the evidence of this book they should reconsider.

The authors seem to be confused about their aims. Many of the tips are system dependent (and only a substantial understanding of different OSs will give the reader any sense of which tips are relevant to the system on which they are working.) Much worse, many of the tips that are not ill conceived to start with are plain wrong. Of course anyone who thinks that a copy of Turbo C++ Lite is going to be much use with a book that purports to cover Windows programming, the STL and multi-threading is obviously expecting more than can be reasonably delivered. Let me give you a few examples.

'464 Passing Arrays on the Stack'does not actually tell you how to do this should you wish to. It is just a very brief item that effectively says that you pass the address of the first element of the array.

The immediately preceding tip refers to the

NULL
character. That should be
NUL
. OK you may think I am being picky, but the work is littered with errors. Some of them are almost laughable. I have no idea where the authors arrive at

'The Julian calendar is identical to the Gregorian calendar, except that it commences year one at the Gregorian-equivalent 46 BC.'And the authors do not seem to know what a Julian day is (it has nothing to do with a Julian date.) Here is another example:'Tip 173 Determining Whether Two Strings are the Same'provides you with a function to compare two strings character by character. See how many errors you can spot:

int streql(char *str1, char *str2) {
	while ((*str1 == *str2)&& (*str1))  {
		str1++;
		str2++;
	}
	return((*str1 == NULL)&& (*str2 == NULL));
}
On second thoughts why bother? Either compare the addresses if you want to answer the question as phrased, or use
strcmp()
if you want to see if they match. Any author who can provide you with a function that includes blatant undefined behaviour when there is a perfectly good library function does not deserve to be taken seriously. I was going to suggest you use this book as a door stop, but if you have a copy take it back to the seller and demand (courteously) a refund of your money. The book does not match its cover description and using it would be positively dangerous to your professional reputation.