4

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.

  • 1
    Seriously as in trying to get rid of the last dependencies. – Simon Mar 29 '17 at 5:16
9

Yes. Plenty.

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.

  • Thank you. Very clear. Though, is there future for those framework in your opinion? – Sandro Hissao Nakaguma Mar 30 '17 at 4:35
  • There isn't much future in them for new applications, but there is a nearly 100% chance there will still be MFC applications in use and being updated a decade from now. – whatsisname Mar 30 '17 at 5:08
  • Thank you for the comments and for the patience of yours. – Sandro Hissao Nakaguma Mar 30 '17 at 6:46
5

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.

3

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.

  • Good answer. What would you tell about MFC and/or ATL for the next 10 years? Do you think these frameworks are going to survive? – Sandro Hissao Nakaguma Mar 30 '17 at 4:37
  • Personally I am a very strong advocate of migrating to Open Source, Cross Platform frameworks as I don't like being dependent on anybody for continuing support. With closed source frameworks the developer(s) can shut you down on a whim and it is nice to be able to support alternative platforms should it be required. – Steve Barnes Mar 30 '17 at 9:51
  • 1
    Good points. I must agree with you. – Sandro Hissao Nakaguma Mar 31 '17 at 11:46
  • 1
    I am also still maintaining and even sometimes making changes / enhancements to an old VB6 Out-of-process COM server that is used in sports systems. I have a couple other VB6 applications that are still used today. The VB6 out-of-proc COM server I have experimented doing in .NET C# as an out-of-proc server; I have proven the concept to a prototype stage but is far from working code. I am think of changing the whole architecture to a OWIN/SignalR/RESTful type server. – Neal Davis Apr 4 at 20:15

Not the answer you're looking for? Browse other questions tagged or ask your own question.