This book provides an excellent introduction toVisual C++ 6 and MFC for those new to the subject or still a little shaky. There seems to be a great abundance of bad-mediocre books on Visual C++ and/or MFC. This book, in contrast, achieves what it sets out to do in spades. It starts off explaining the Developer Studio envirnonment, so that even those who have never seen/used Microsoft Visual C++ before are taken by the hand.The first example is a console (ie non-windows...black screen with only a text interface similar in appaerance to a dos program) application. The rest of the book then deals with writing programs specifically for Microsoft Windows with buttons, combo boxes and other such graphical components. There's even a chapter on drawing and including bitmap files. The book presumes a good knowledge of standard C++ , and recommends the " C++ How to Program" book written by the same authors. It is, however, not essential to have read this book in particular though to fully understand "Getting Started...MFC". A good C++ basis obtained from any good book such as the excellent work by Lafore ("Object-Orientated Programming in C++") is more than sufficient.
Its pedagogical merit is second to none and is ideally suited as a first read on the subject for reasons including the following:
(1) Its short and sweet (about 140 pages), and could even be read in a single week or so by a motivated reader.
(2) The " live-code " propounded on the cover as a characteristic of exapmles in the book is in fact simply an attitude adopted by the authors. They realise the value of illuminating the concepts they discuss by illustrating them in complete examples (and not just code snippets as is the case in many other books). These examples are then dissected and described step-by- step leaving the reader confident that he/she feels fully comfortable with every aspect of the example. This unfortunately, is a teaching practice that most other authors seem to undervalue. Needless to say, the examples are prudently chosen for their pedagogical content and are carefully kept short, while still containing all elements necessary to illuminate the ideas under consideration.
(3) All examples used in the book are available for download from the authors web site. These downloads include not only the source code, but also the files (*.dsw etc.) necessary to set up the workspace with a simple double click. (This can be especially hepful for readers with little experience who dont have to worry about creating the workspaces, setting properties etc. themselves).
(4) Each chapter finishes with an extensive (typically a page or more) summary and also a page or two long section titled 'Terminology'. This section lists the new terms, function/class names, etc. that have been introduced in the course of the chapter, giving the reader the opportunity to check that they have assimilated these new terms comfortably. In some chapters there are also some short helpful sections at the end such as those titled 'Good Programming Practice', 'Programming Tips' etc. Excercises are also abundant. Unfortunately, answers to the excercises are however, not provided.
(5) The authors wisely refrain completely from using the Visual C++ wizards. Though helpful (among other things as time saving devices), these wizards and the cryptic (skeleton) code they produce, generally confuse new users more than help them. The aim in this book is on understanding the topics covered and the MFC classes used, fully, rather than getting the most sophisticated project up and running in the shortest possible time.
All in all, its almost impossible to say anything bad about this book, except that ist a pity that solutions to the excercises are not also included. Unfortunately there is (as yet) no follow up book by these authors covering the same topic but at a deeper lever for those who have already read "Getting Started...MFC". If/When it appears I'll be the first to buy it.