When I saw the title of this book, I wondered which class library it would use; the popular but oft-criticised MFC, the popular alternative WTL, the ATL, or even a home-grown system of classes.
I didn't even consider that the book would use no class library at all. In fact, with the exception of one chapter, no C++ facilities are used apart from declaring variables in the middle of blocks and the occasional memory allocation with new. The book teaches the standard Windows 32 C API.
The exception comes in chapter 20, which is dedicated to DirectX. In this chapter member functions are called on C++ objects. However no description of any of the classes being used is given, the objects are accessed via pointers obtained from standard C functions and the functions simply called via those pointers.
The very first sentence of the book is in a paragraph headed Requirements and reads, 'You need to have a good knowledge of the C++ language.' I would dispute that - you need to have a reasonable knowledge of the C language, together with a very basic knowledge of the C++ language. The book then goes on to describe how to use the Borland and Microsoft C++ compiler to compile a simple program - something I would have thought unnecessary in this book.
The method used by the book to teach virtually all the way through is to show a program listing then explain it. This is adequate in some cases, but in many I feel not enough explanation is given to what is being shown.
The book is split into three sections. The first is a tutorial of most of the features of the Win32 API, explained using examples as I said above. It covers many topics but I haven't attempted to determine whether that is exhaustive, but given that the section ends on page 146 I doubt it.
The second section is somewhat inexplicably called Take That! and is a reference for a selection of the Win32 API chosen by the author to represent the 'fundamentals' plus the Graphics Device Interface (GDI) functions and a few others.
The third section contains miscellaneous extras including the chapter introducing DirectX mentioned earlier, a tiny (1 1/2 sparsely populated pages) chapter on Unicode, which simply lists the different versions of Windows and recommends whether you should use Unicode or not, one page attempting to describe COM (yes, really - I couldn't quite believe it) and only in the final chapter is the subject of compiling resource files mentioned.
If it weren't for the copyright date of 2002 (2001 in Germany) I would have thought that this was an old book hastily brought up to date by the use of the C++ features mentioned. For instance, when explaining the Windows message loop, is it relevant these days to say 'Applications in Windows are no longer run in the same way as DOS applications'?
The book is part of a series by Addison-Wesley called Nitty Gritty. It has been translated from German (well enough, I might add) and judging from the names of the authors of the other books in the series, those books will have been too. Unfortunately it doesn't come up to the standards we have come to expect from that publisher.
According to the back cover the series is supposed to teach the basic and most important facts. I would say that it succeeds in introducing the basic facts and for only£20 maybe we shouldn't expect more. However, I wouldn't recommend it and suggest that anyone looking to begin using the Win32 API starts with the classic Petzold rather than this book.Other Programming