Author: Ray Lischner
Publisher: Apress, 2008
Aimed at: Experienced developers moving to C++
Pros: Clear explanations of topics
Cons: Poorly organised
Reviewed by: Mike James
I didn’t like this book at all – but don’t let that put you off - it’s idiosyncratic enough to have a chance of pleasing one or two readers. The first thing to note about is the sub-title “The Programmer’s Introduction to C++”. It is assumed that you can program to a level where you don’t have to be introduced to ideas such as flow of control and variables. However the book starts off by presenting an unusually long first program – even if it is assumed that the reader can program. The author repeatedly presents a long listing, directs you to read it and then asks questions about it. There is even a space with ruled lines ready for you to write your answers. If you are a programmer you probably would be able to make a guess at what the programs are doing, but is this a good way to learn? The author also introduces topics in an order that doesn’t make a great deal of sense other than it progresses more or less from the more basic to the more advanced.
One of the big reasons for learning C++ is to make use of its object oriented features and these aren’t introduced until well after much less important material such as Doxygen documentation, character classes, function overloading and so on. In my opinion if you are going to be an object-oriented programmer then you need to climb that hill first and then see how all the other comparatively minor, if very useful, details fit in later. That is, you can learn to use strings after you have absorbed an object-oriented approach just as well as before and they make more sense this way round.
The real problem with this book is that the author has no clear idea of his reader and no clear idea of how to assemble the complex ideas of C++ programming into a coherent order. Each individual explanation may be quite good, and you might even like the blanks spaces for you to write your answers, but overall the structure of the book is flawed as it jumps from the very simple to the stuff you could leave till later all on the same page.
<Reviewed in VSJ>