REVIEW - Mike&Phani's Essential C++ Techniques


Mike&Phani's Essential C++ Techniques


Michael Hyman&Phani Vaddadi




Apress ()




Francis Glassborow


April 2000



I found this book a curious pot pourri. By no stretch of the imagination is this book going to be much use to its declared readership--advanced C++ programmers. No one in that category needs to be told such simple things as that classes designed with the expectation that they will be derived from should have virtual destructors.

Code in books such as this one should be well written. In many places the authors provide before and after code in support of their guidelines/techniques. What do you think of the following as an 'after' (it does not matter what the technique is that is being written about):

class baseClass { public: 	baseClass() : fltSalary(0.) {} 	char *szName; 	float fltSalary; };
It becomes clear, long before the chapter on using Assembly that the authors are writing about C++ on a very specific platform and based on experience with a specific implementation of C++. They have little familiarity with what are rapidly becoming standard techniques among more experienced C++ users. Couple this with a pre- occupation with what I might call micro-optimisations and we finish up with a book that not only offers nothing to advanced C++ programmers, and very little to experienced ones but it also provides a dangerous mindset for inexperienced programmers.

What I find frightening is that the authors are clearly writing about the way they write C++ code. Frankly they are, in my opinion, still at the point where they have a good deal to learn about C++ techniques from the real experts of the industry.

Finally let me quote 'Technique 129: Avoid the CRT If You Can' in its entirety. I think that may give you the sense of why I think this book is wholly misguided.

Category: Write faster code
The C Runtime (CRT) is a library of common functions used by most programs. It includes start-up code as well as many other functions. It also adds a lot of space to your programs. When you focus on size, you can write your own start-up code and reproduce only the CRT functions you need, thus dramatically lowering the size of your programs.

If you do not understand what this is about then this book has nothing to offer you. If you do, I think it is unlikely that you would want to take any of the authors' techniques seriously.

Book cover image courtesy of Open Library.