Is there anyone seriously using C++ ATL or MFC at work these days? Please describe what kind of projects would require them these days.
closed as unclear what you're asking by gnat, GrandmasterB, Bart van Ingen Schenau, Thomas Owens♦ Mar 29 '17 at 10:30
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
Not all software is appity mobile apps or web 2.0 social media. There is a ton of software that was written long ago being used today, that will continue to be used far into the future. Software that is used with medical devices, scientific instruments, factory controls, and plenty of others.
Microsoft still has MFC tooling, its libraries still work on the latest Windows (and likely will continue to for quite some time into the future) and so there is little benefit to upgrading to yet another GUI toolkit when it provides scant benefits and a whole lot of risk association with creating new bugs.
Until 2 years ago I was working with a company doing work on an ECG analysis application, which along with its hardware retails for several thousand dollars. That company is sold so I'm not working on it any more, but someone else is now. That software was written with MFC and COM, and it's not likely to change any time soon.
I just wrote a brand new MFC application about a week ago (for work).
In this case, I used MFC primarily because I had to wrap some existing C++ code in a GUI, and I had about a day to do it, with a customer demo to happen the following day.
With those constraints, I wasn't particularly concerned about the GUI being portable, nor about it being as pretty as possible. It simply needed it to be functional, and it had to be done quickly.
While there are certainly alternatives to MFC, and some of them have pretty serious advantages under some circumstances, I haven't used any that I'd say was as dependable at letting me get a fairly simple job like this one done quickly. Under the circumstances, the question wasn't which was likely to let me get the job done the quickest or easiest--it was which was the most certain to help me get the job done within that (extremely) finite amount of time. At least based on my experience, MFC was the safest choice because the result was the most predictable.
If (for example) I'd used Qt instead, there was a pretty good chance I'd have been done somewhat sooner--but also a greatly increased chance that I might not be done on time (and the latter mattered a lot more than the former).
Bottom line: I delivered the application with about a half hour to spare.
In some industries there are 'legacy' applications that still have to be maintained but that represent many thousands of man hours of development time.
Military, Medical, Aviation, Space & Industrial Control applications often have an expected maintenance life of 10-30 of years or longer - I am still looking at VB6 appliccations at the moment at work let alone C++ ATL or MFC as well as some embedded code for processors that are no longer made.