Is it worth to learn Microsoft Foundation Classes(MFC) Nowadays?

23,605

Solution 1

No, I wouldn't learn it - I'd look into it to gain an insight into some of the ways the GUI classes work so you have a wider understanding of this old, but important, technology. But I would not learn it as a technology you want to create new GUIs into the future. Forget the non-GUI parts of MFC, only people who are big fans of Microsoft technologies used them, everyone else used much better libraries...

Although you can write great applications using it, TortoiseSVN for example, today using Winforms is much easier and gives you the same results. Yes, .net is slower than native code but for a GUI you're generally limited by the speed a human can react to changes, so a 'slow' system is still going to be ok, unless it gets so slow it is noticeably laggy or slow to respond. For this reason I'd skip WPF as I know too many support calls from myself and friends who all have complained about WPF's performance (there's also lots on the web about WPF being pretty poor).

there are alternatives, Qt is a great GUI tool. wxWidgets is good to, and also cross platform. Today the general attitude to GUIs are that they should be web-based, so you might be better advised to learn ASP.NET MVC 4 (not the older versions) as there appears to be a significant number of jobs for this technology today (tomorrow might be different!)

Solution 2

There's still shops who have a MFC codebase who cant just throw it away since its well tested projects and for those it can be useful but as a learning exercise it would be better to learn straight Win32 programming from which MFC and .NET still is derived.

From my experience: Guerilla games the makers of the PS3 Killzone series have tools in MFC Bosch security systems where I worked still use MFC Philips medical still has.

For new development they all use different technologies though.

Share:
23,605
unique
Author by

unique

Updated on September 23, 2020

Comments

  • unique
    unique over 3 years

    I am a big fan of Microsoft Technologies. Learned lot of .NET Framework and C# like programming languages. But I believe .NET applications are running on top of .NET Framework so They have some kind of slow. Then I heard about MFC a wrapper classes for Windows Development and It is standard for Commercial Application Development(I mean not business level application) so I want to know is it worth to learn MFC now? Is there any alternatives? I want to develop commercial level application Thanks for read my question.