Advertisement

MFC Book

Started by May 22, 2010 09:15 PM
16 comments, last by Nik02 14 years, 5 months ago
For brand new project, any reason not to use Qt, WxWidget so it can be x-platform?

In practice, given that there is a large base of MFC developers, perhaps team lead will continue to choose MFC for new projects to harness available talent pool?

Similarly, if an initially MFC project has been ported to Mac/Linux, presumably each branch has its own dedicated developers. Is it usually unlikely the team will plan to develop a Qt port as your main and slowly fade out the native branches?

Quote: Original post by ChaosEngine
Quote: Original post by rumble
Quote: Original post by ChaosEngine
There's really no reason to use MFC anymore. You're already making your code windows specific, so you may as well go the whole hog and use Winforms.


Being recently introduced and involved to GUI, and never really understood MFC to be comfortable, I am curious.

Are you saying MS will slowly stop supporting MFC or goad developers into .NET and other MS platforms?


Nothing so machiavellian. When MFC was released, it was a pretty reasonable alternative to the Win32 API. Sure, it was a bit clunky, but ultimately it was more productive than Win32, alleviating a lot of the boilerplate code you needed to write.

But these days, C#/Winforms is an order of magnitude easier/more productive to use. If you are writing a new windows-only app, there's simply no reason to use C++.

Quote: Original post by rumbleOr are developers actively making the switch to Java or Qt, either for ease of use or cross-platform support?


Cross-platform? MFC was never cross-platform to begin with, C# has some x-platform support with mono and if you really want to go x-platform, you're probably better off with QT, wx, etc.

Need to leverage an existing C++ codebase? No problem, simply wrap a C++/CLI assembly round that sucker and you're good to go.

The only reason I can think to use MFC is if you have a large MFC codebase that contains a useful set of custom controls you wish to leverage.


Quote: Original post by rumble
I do work with graphics mostly and have dabbed into GUI for demos, which doesn't need to be x-platform. If I can only focus on one, I wonder among MFC, the new Windows Forms, Qt, Swing, and etc., which would be more future-proof and make me employable for the long term.
What do you consider long term? In 10 years it's possible all those technologies will be superceded by even newer and greater things. Just be flexible and be ready to learn new things all the time.

Advertisement
Quote: Original post by LessBread
Lastly, consider that MFC may not be as great as you've heard: MFC Considered Harmful to Programmers


MFC may not be stellar, bit it was good for the time. The author makes a decent point, that developers should be familiar with what's going on; but I think he crosses the line towards being anti-abstraction, and the related article he links to "The Dumbing Down of Programming" seems just to be a bunch of whinging about the fact that computers are no longer scary devices impenetrable to the average laymen - I wonder how he feels about shared_ptr!
Quote: Original post by ChaosEngine
There's really no reason to use MFC anymore. You're already making your code windows specific, so you may as well go the whole hog and use Winforms.

Not if the application needs to run on pratically all PCs!!
I had to write a commercial app last month, winforms was out of the question since some users will not have .net installed

Quote: Original post by zedz
Quote: Original post by ChaosEngine
There's really no reason to use MFC anymore. You're already making your code windows specific, so you may as well go the whole hog and use Winforms.

Not if the application needs to run on pratically all PCs!!
I had to write a commercial app last month, winforms was out of the question since some users will not have .net installed


If they don't have it installed. . . install it?
The number of people not having .net 2 or highter must be frighteningly low nowadays (on windows of course, but that's all what matters in this comparison since it's with MFC)
Can anyone guide me to a site or two that teaches you how to work with windows forms (buttons, listbox, files, etc.) in Visual C++ 2008 Express? I understand that Express doesn't come with MFC.

Thank you.
Advertisement
Quote: If they don't have it installed. . . install it?
Not an allowable option in this case.
True for hobby projects etc this is a valid option, but for commercial stuff it just has to work out of the box.
If .net allowed static linking this would not be an issue but it doesnt.

Quote: The number of people not having .net 2 or highter must be frighteningly low nowadays
youll be surprised.
winXP is the most common windows version in fact winXP > win7+vista + all other windows versions. Yet it doesnt support .net2 out of the box.
For serious commercial apps, you need to have an installer of some sort anyway. The .net framework can be installed easily alongside your own app, to get that "out of the box" experience.

Niko Suni

This topic is closed to new replies.

Advertisement