REVIEW - MFC Programming from the Ground Up

Title:

MFC Programming from the Ground Up

Author:

Herbert Schildt

ISBN:

0078825733

Publisher:

McGraw-Hill Companies (1998)

Pages:

663pp

Reviewer:

Colin Harkness

Reviewed:

October 1999

Rating:

★☆☆☆☆

This book is aimed at C++ programmers wanting to learn the MFC, whether or not they have any Win32 experience. The discussion is independent of any compiler or development environment so the programs are created without using wizards. The benefit of this is that the book isn't full of screenshots or 'click here' instructions. However, Schildt has decided that every example must be a complete program so you end up with pages of code containing only a few lines that are relevant to the topic. These examples are uninspiring and the programming approach tediously non-Rapid Application Development.

All the code is listed in full within the book. The downloaded code just consists of a dump of all the listings in each chapter. Therefore, if you want to compile the code then you have to create a project and get handy with the cut and paste keys.

The coverage of MFC is at beginner level. The section on MFC's Document View architecture is perhaps rather too brief, as is the introduction to ActiveX. There no coverage of the MFC's OLE, database, Internet or collection classes. The book claims to cover MFC version 6 but I could find no evidence of anything beyond 4.22 other than the class hierarchy diagram.

This so called 'C/C++ wiz and master of all programming things' has some peculiar views on organising your source code:

'To aid in the organization of MFC-based Windows programs, a style of file management has evolved that has become common among MFC programmers. When writing MFC programs, put all your class derivations in one file and the code that implements those classes in another. Call the first file something like CLASSES.H and include it in the other file. Since most real-world projects consist of multiple source files, this approach is useful because it allows you to easily include your class hierarchy in all of the files used by your program.'

I don't know where he gets this idea. Even the Microsoft class wizards, for all their many faults, generate a pair of files for each class. Schildt evidently has no concept of programming in the large, team-based development or source code control issues.

If you're new to Windows programming and want to write small programs by yourself, you'd probably better give MFC/Visual C++ a miss and pick a RAD tool like C++ Builder/Delphi or VB. If you want to write bigger programs in a team then choose another MFC book (such as those by Blaszczak or Kruglinski).


Book cover image courtesy of Open Library.