Quote Originally Posted by NMTop40
MFC forces you to link in the MFC libraries, and they don't mix with some of the other runtime libraries
Which other runtime libraries would that be?

Quote Originally Posted by NMTop40
I'd also advise against using precompiled headers. I hate having to include some file called stdafx.h in all my code (again much of which might be totally unrelated to Windows).
Well, nothing forces you to name the header file stdafx.h - it can have any name you like. Precopiled headers are completely independent from MFC - they are a feature of the VC++ compiler to speed up the compilation process. It's just that wizard-generated projects use them by default.

Quote Originally Posted by NMTop40
MFC is also totally a pain to use,
As compared to what? Doing the same things with plain Win32 API code is usually much more of a pain. I've always experienced MFC as a relief...

Quote Originally Posted by NMTop40
which means adding Microsoft extensions everywhere.
What "Microsoft extensions" are you talking about?

Quote Originally Posted by NMTop40
In fact MFC has been on its way out for a long long time, otherwise why did MFC only come with a very limited set of widgets with ActiveX controls getting the majority?
YOu can't compare MFC to ActiveX - Actually, many existing ActiveX controls are implemented using MFC. OTOH, some MFC classes are wrappers for ActiveX controls - and MFC can easily wrap any ActiveX or COM component.

Quote Originally Posted by NMTop40
And why doesn't compiling a resource file generate C++ source for you?
Why should it? A resource file is compiled to resources in their binary (.res) format - again, that has nothing to do with MFC, but is part of the Win32 executable file format specification.