Is it MFC about disappear?

Really need to move from VB net to something that is faster and more professional.
Found that C++ MFC looks nice and have both VB and C++ advantages.
But without books and tutorials it can take a lot of time to start  program something.
But there is no books in amazon (only used) and the same situation in Swedish internet bookstores.  
Maybe MFC is not actual any more. Or what?
Can anybody give me answer to this question. and if it's not the end of MFC maybe you can navigate me to some place where  I can find the most information. This is really annoying to
spend time and search in internet answer to very base questions about something like How to show the image file and so on.
Who is Participating?
Jacques Bourgeois (James Burger)Connect With a Mentor PresidentCommented:
Not exactly my field, I might be corrected, but as I see it, MFC is but a patch over Web Services.

Web Services are a standard. The first implementation was missing a lot of things such as compression and encryption. They have been around for many years now, but since it is a standard, everyone is fighting about how to incorporate what is missing in version 2.0.

Microsoft got tired and developped MFC as what it sees as a communication layer between 2 applications.

It's future depends on when and what the future Web Services standard will end up to be. At the moment, they are still debating (

So, maybe WFC might be seen as not actual anymore, but even more so the web services.
x77Connect With a Mentor Commented:
I Like c and C++, but there are a lot of compilers an a lot of Standard Classes (MFC, ATL, Borland, GNU ...)

I do´nt like MFC, it is suported over a lot of MACROS and I think macros is not the best for programing.

When I began learning C++, I found as advantage from C that you can code without macros. But Microsoft Builds MFC over a lot of macros.

I Thik ATL is best option as MFC.

I think NetFamework and JAVA is most universal.
I think .Net programs have great performance when programmer takes care about it.
sarabandeConnect With a Mentor Commented:
mfc is a 20 years old class library which is mostly a c++ class wrapper of native winapi what is 5 years older and in c.

mfc has told to be dead since decades. nevertheless it is still the easiest and mostly used class library for c++ gui development in the world.

there must be millions of books and tutorial available. trying books and mfc gives 429 hits.

alternatives are QT which is a younger and portable (unix) gul c++ library.

or you go the .NET way where in my opinion c# is the better language for.

Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

for more info and a full list of alternatives see

AndyAinscowConnect With a Mentor Freelance programmer / ConsultantCommented:
>>Not exactly my field, I might be corrected, but as I see it, MFC is but a patch over Web Services.

Well, MFC predates most of what us know as the internet, version 1 of MFC was released in about 1992 so I think calling it a patch over web services isn't justified.

I think you have a choice if you wanted to learn another language.  For unmanaged code such as C++ then MFC is very useful (for windows programming).  It supplies a tremendous amount of functionality ready as a base for you to develop upon.  I don't think it is dead.
However there is such a lot of activity in .NET (managed) code then you really should consider something like C# where there are also a huge selection of code for you to work with and extend.
Jacques Bourgeois (James Burger)PresidentCommented:
Andy is right. I was in the ditch.

With all the acronyms, I mixed MFC and WCF. Disregard everything I have said.

Sorry for the mixup.
mastiSoftAuthor Commented:
Thanks a lot for all your answers. Now I see that it will be wrong to spend the time on MFC.
I program in VB net and I like it. But this is not the language for fast application.
I need some language that fast and not change every time the people in Microsoft have  a bad day.
I see that it can only be the C++.
AndyAinscowFreelance programmer / ConsultantCommented:
>>Now I see that it will be wrong to spend the time on MFC.
>>I see that it can only be the C++.


MFC is a suite of C++ classes to provide prebuilt code.  It is not another language, it is C++.
you could use managed c++ and windows forms.

but is same speed than managed c++. both languages are producing the same intermediate code which often is faster than compiled code of (unmanaged) c++.

tampnicConnect With a Mentor Commented:
I've been using MFC for 15 years on and off. Its a framework written in native C++ to allow programmers to build GUI applications faster than using the windows API's directly. Would I recommend it? I'm fairly neutral on that point. The fastest performing code possible is Windows C calling the API's directly, *if you know exactly what you are doing*. You need to know the inside of the Windows architecture to prosper in this area, its easy to make mistakes or create subtle bugs, and can easily take ten times longer to write a medium-sized application than using a framework.

I use a framework such as MFC when developing non mission-critical applications, or where the application consists of more than a few dialogs or a couple of frame windows. If the application is small or its very important to have full control of the source code with the minimum input from external libraries then I use the Windows APIs directly. Its a decision you have to make for each project based on time/risk/experience and other factors.

Why are you so against VB? I've used it as a great prototyping tool in the past and I've seen some very professional full applications written by others with it. If your coding simple Windows GUI applications, the benefits of switching to C++ are not great. To be honest a lot of my work could have been written faster in VB and the application just as fit-for-purpose,  but I'm more comfortable with C++ and MFC as I have more experience with them. If you need finer control of Windows, easier access to the Windows API functions, or need to have control of more of your source code then C++ becomes more attractive. Personally, I'm starting to look at C# as its an introduction for me to managed code and keeps a C-like syntax which I find easier to follow.

Remember MFC is only available for the Windows platform. As a substantial amount of my work has been on UNIX platforms as well, I can apply knowledge of C++ there too. Somebody mentioned the QT library which is available on UNIX and Windows. wxWidgets is another cross-platform GUI framework which I have used a little but quite like. Its not as mature as MFC or as widely used, but the documentation on the internet is quite comprehensive.

deightonConnect With a Mentor progCommented:
you might want to follow the latest news from Microsoft about where it plans to go
uuh, the ms link want to install silverlight on my notebook. i think i know already what it tells about mfc :)

mastiSoftAuthor Commented:
Yes you can do very much with VB net an this is a grate language. But is it not such good as C++ or C when you have to receive a bid amount of data at the very high speed  and you need to  access to different part of it very fast too. The same with the drawing. You can use GDI + and do most of the work but OpenGL  is very limited in VB net.
mastiSoftAuthor Commented:
Thank you to all of you. It was very iinterest dialog.
Jacques Bourgeois (James Burger)PresidentCommented:
I do not deserve the points.

As stated earlier, my discussion was about WCF, not MFC. I simply mixed the acronyms. So, what I said has absolutely no relevance to MFC.

You should give the solution to another post than mine.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.