REVIEW - C++ from Scratch

Title:

C++ from Scratch

Author:

Jesse Liberty

ISBN:

0789720795

Publisher:

Que Publishing (1999)

Pages:

417pp

Reviewer:

Paul F. Johnson

Reviewed:

August 2004

Rating:

1 out of 5

I usually like Jesse's books, but not in this case. I would not recommend this book to anyone as it is just badly written.

According to the user level, the book is aimed at beginners. The book's style for teaching C++ is to program first, explain later, which usually is quite a good idea, but only when what you are doing is explained properly.

From an early stage, things become annoying, as the book seems mixed up. It starts by saying that the code should work on any standard compliant compiler. So why will it not work on gcc 3.3? The book looks like it was written by two people. One person appears to be using a compiler that rejects

iostream.h
and does not use namespaces; the other using a compiler that accepts old, broken code. This is worse than useless for a beginner who needs to type in the code exactly as written and expects it work there and then, without having to worry about why the code does not compile.

Other non-compatible features including a header which is not described for almost 40 pages after it is first used; using old C headers instead of C++ headers - there are quite a few instances of using

time.h
in place of
ctime
, as well as using the C style method of generating a random number (seed rand() with time(NULL)) instead of the more useful C++ method.

The description of object-orientated programming is rather weak. Even for a beginner.

While the use of the STL is nice to see, the descriptions of the object methods and how they work is poor. This is a common thread. For instance, there is very little on error trapping (essential for the program being developed throughout the book). The index is worse than useless; it does not cover any of the STL methods or in some cases, important sections of the book.

UML is supposed to be covered in the book. If it was, I did not recognise it.

Definitely one to leave on the shelf.


Book cover image courtesy of Open Library.