views:

372

answers:

3

Normally people say MFC is little clumsy. It makes UI development slightly difficult to maintain since it has lot of auto generated code. It has good architecture (doc/view) but is not transparent like Win32 programming to understand how window program works in the background. So with this situation, is it good to extend the exposure on MFC programming or better to switch to .NET since for faster UI design with ease in maintenance.

Is it good to continue as MFC developer or good to know .NET as well?

How globally companies are looking into MFC as a technology for UI developments. Are they comfortable in supporting their developers to continue with MFC or looking for changing their development technology.

+7  A: 

I sincerely doubt that any company will start a new project using MFC instead of, at least, WinForms.

But I might just be too optimistic.

On the other hand, having someone that can maintain old projects that use MFC is always a nice-to-have, but I wouldn't rely only on that skill.

ereOn
Within a company that has a lot of experience using MFC and no record using C#, they will likely use MFC on new projects - examples like dwo's where companies develop new apps within an existing project are a big factor as well.
John
I can understand that a company don't want to (and can't) just throw out old softares just to rewrite them in a modern language/technology. On the other hand, developpers *should* try to be up-to-date regarding new technologies. If no-one does, what will happen in 50 years when only a few (expensive) people still know how to maintain the existing softwares ?
ereOn
+2  A: 

MFC already falls into the category of legacy code for most cases. BUT, teams/companies who only know C++/MFC will still continue to use it for new applications because it's quicker for them, and lets them re-use existing code-bases.

So in conclusion, the proportion of MFC code which is legacy will continue to grow, but technologies normally take years or decades to die out, sine the life-cycle of a team can be of this duration.

If you are a MFC developer, finding a way to learn .NET is definitely a good idea because fewer and fewer jobs will want MFC, and those will generally be old projects rather than exciting new stuff. But it's still a useful skill, knowing some rare technologies can get you good money!

John
+3  A: 

Well, our product consists of about 70 MFC-projects (EXEs and DLLs), with some 100 man-years of development effort.

We have to ensure that this application will be running in at least 10 years from now. And we have to ensure that our existing customers can use their NT-networks and Win98 clients.

With that in mind we still begin new projects using MFC.

Altough some optical stuff comes new with every Windows-version, the core of Windows is still pretty much the same and MFC will continue to work.

dwo
And I believe your situation is not an exception. The amount of MFC business applications out there and running at customer sites is huge. And in my experience the life time of a well integrated application is much longer than developers and customers usually expect.
Slauma