Qt ready to replace MFC as favorite C++ framework [modified]
-
I'm interested in the claims you make for Qt:
- QT is much much batter than MFC both in design and Functionality
- QT is much more updated for modern programming
- QT is better then MFC
What are your reasons for making these claims? Can you give us any links to comparisons that justify your claims? I have used Qt on one contract because a client requested it, and while I appreciate the cross-platform benefit, I would never consider recommending Qt for a Windows-only project, for exactly the opposite reasons of what you have stated: Qt is not as well designed as MFC, Qt offers less functionality and less flexibility than MFC, Qt is not as well integrated into the VS IDE as MFC, and Qt in general is harder to work with than MFC. Still, I am not a Qt expert, so I would like to understand it from your point of view. If you could provide some justifications or links, I would appreciate it.
Best wishes, Hans
[CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]
Qt has much more than basic UI elements.
-
I am very confused how these conclusions are reached. Qt is significantly better than MFC in each of these in my opinion.
John
Why ask me? I was just quoting someone else. Ask them...
John M. Drescher wrote:
Qt is significantly better than MFC in each of these in my opinion.
Examples? Code you've written? Commerical apps developed for Windows using QT?
-
I'm interested in the claims you make for Qt:
- QT is much much batter than MFC both in design and Functionality
- QT is much more updated for modern programming
- QT is better then MFC
What are your reasons for making these claims? Can you give us any links to comparisons that justify your claims? I have used Qt on one contract because a client requested it, and while I appreciate the cross-platform benefit, I would never consider recommending Qt for a Windows-only project, for exactly the opposite reasons of what you have stated: Qt is not as well designed as MFC, Qt offers less functionality and less flexibility than MFC, Qt is not as well integrated into the VS IDE as MFC, and Qt in general is harder to work with than MFC. Still, I am not a Qt expert, so I would like to understand it from your point of view. If you could provide some justifications or links, I would appreciate it.
Best wishes, Hans
[CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]
For QT vs MFC check this link http://phil.freehackers.org/kde/qt-vs-mfc.html[^] And for checking functionality provided by QT check documentation http://www.qtsoftware.com/products/appdev/library/modular-class-library[^]
Sudhir Mangla http://tips.DevelopersVoice.com (Technical Tips and Tricks) http://Programmerworld.net (Free books and source code) http://Faq.Programmerworld.net (FAQ and Tips for programmers)
http://health.Programmerworld.net (Health tips) -
I'm interested in the claims you make for Qt:
- QT is much much batter than MFC both in design and Functionality
- QT is much more updated for modern programming
- QT is better then MFC
What are your reasons for making these claims? Can you give us any links to comparisons that justify your claims? I have used Qt on one contract because a client requested it, and while I appreciate the cross-platform benefit, I would never consider recommending Qt for a Windows-only project, for exactly the opposite reasons of what you have stated: Qt is not as well designed as MFC, Qt offers less functionality and less flexibility than MFC, Qt is not as well integrated into the VS IDE as MFC, and Qt in general is harder to work with than MFC. Still, I am not a Qt expert, so I would like to understand it from your point of view. If you could provide some justifications or links, I would appreciate it.
Best wishes, Hans
[CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]
Hans Dietrich wrote:
Qt is not as well designed as MFC
In my opinion it is much better designed. It definitely is better OO code, signals and slots are much better than the event model...
Hans Dietrich wrote:
Qt offers less functionality
How? There is so much more functionality in Qt than there is in MFC. What about dynamic window layouts? Doing this in MFC requires hundreds of lines of code. And signals and slots are so much easier to work with than the event model.
Hans Dietrich wrote:
Qt is not as well integrated into the VS IDE as MFC
With the open source version it is not integrated at all so I agree. However I do not miss that. I think 5 years ago with VC6 I would have missed it more but since VC went .NET adding events via the class view has not been all that great anyways so I have been doing this mostly manually anyways.
John
-
Why ask me? I was just quoting someone else. Ask them...
John M. Drescher wrote:
Qt is significantly better than MFC in each of these in my opinion.
Examples? Code you've written? Commerical apps developed for Windows using QT?
Graham Bradshaw wrote:
Why ask me?
Sorry, not asking you. Just wondering on how these conclusions were achieved.
Graham Bradshaw wrote:
Code you've written?
Yes, However none of it is released yet.
John
-
Qt has much more than basic UI elements.
This is a big help. Because in MFC I had to either roll many of these out myself or grab them off of codeproject.
John
-
Nokia has announced plans to make the open source Qt toolkit available under GNU's Lesser General Public License (LGPL), alongside the existing GPL and commercial licensing options. This change could significantly boost Qt adoption, redefine the economics of cross-platform programming, and dramatically reshape the landscape of commercial application development using C++. Now the question is will Microsoft take some time to Improve MFC for Windows. Although as VS2008 Service pack Microsoft as tried to Improve MFC. But Still if I compare QT with MFC , QT is much much batter than MFC both in design and Functionality and QT is much more updated for modern programming.Anyone who has used QT will be able to tell where MFC stand against QT. QT is better then MFC and can run on nearly any platform this make it a Big challenge for MFC. For most of my career I have worked on MFC. But if MFC remains a dead project QT will be the obvious choice. Main problem for QT was its license. But now that problem is solved. I near future if Microsoft did not improve MFC most of the C++ programmer will switch to QT. Want to know your comment do U feel Microsoft will respond to QT challenge. -------------------- In addition to adopting the LGPL license for Qt, Nokia will also be completely changing Qt development model to make it more inclusive and transparent. The source code will be moved to a publicly-accessible Git repository so that the latest changes will always be visible.
Sudhir Mangla http://tips.DevelopersVoice.com (Technical Tips and Tricks) http://Programmerworld.net (Free books and source code) http://Faq.Programmerworld.net (FAQ and Tips for programmers)
http://health.Programmerworld.net (Health tips)modified on Monday, January 26, 2009 10:53 AM
Frankly, I don't care what is the favorite framework. One of the best thngs about C++ is that it does not lock you into any framework - you can use any of existing ones, write your own, or not use frameworks at all (my favorite option). For GUI, I use WTL which is a lean library, not a bloated framework.
-
As far as I understand it from the microsoft point of view MFC and C++ are dead ducks. MFC is nothing more than an out of date framework that has been passed by along with the shift to .net languages. C++ on the other hand was brutally dragged out into the street and slaughtered by the abomination that is C++.net or whatever monicker they've given to it these days. As for Qt yes it is the best modern C++ development framework around. No it is not as good as MFC was in it's day. Qt still needs a hell of a lot of work doing to it admittedly most of it is sorting out the minor inconviences that plague develpment such as the shoddy gui implementation and the fact that if you actually want to develop any kind of serious application you pretty much have to write it out yourself. It basically needs polishing with the end user in mind and then it needs polishing again just to get the bits they missed the first time.
pseudonym67 My Articles[^] Beginning KDevelop Programming[^]
pseudonym67 wrote:
As far as I understand it from the microsoft point of view MFC and C++ are dead ducks.
When it comes to "enterprise" development. For ISVs, C++ is very much alive and is not going away.
-
Hans Dietrich wrote:
Qt is not as well designed as MFC
In my opinion it is much better designed. It definitely is better OO code, signals and slots are much better than the event model...
Hans Dietrich wrote:
Qt offers less functionality
How? There is so much more functionality in Qt than there is in MFC. What about dynamic window layouts? Doing this in MFC requires hundreds of lines of code. And signals and slots are so much easier to work with than the event model.
Hans Dietrich wrote:
Qt is not as well integrated into the VS IDE as MFC
With the open source version it is not integrated at all so I agree. However I do not miss that. I think 5 years ago with VC6 I would have missed it more but since VC went .NET adding events via the class view has not been all that great anyways so I have been doing this mostly manually anyways.
John
John M. Drescher wrote:
n my opinion it is much better designed. It definitely is better OO code,
MFC started out to be much more OO-oriented - much more similar to Borland's OWL framework. When MFC 1.0 was shown to Windows developers, their response forced MS to throw it out, and come up with the very thin wrapper that MFC is today. So, no, I don't think Qt is better designed, and if - as you state - it is better OO code, then that is a strike against it, not for it. When I'm writing MFC code, I don't have to continually think about how my code is going to map to Win32, since it is already thinly wrapped.
John M. Drescher wrote:
...signals and slots are much better than the event model
I disagree. Windows itself is event/message driven. To the extent that Qt is not, you will end up (at some point) fighting with or duplicating what Windows does. Remember that everything - Qt, MFC, .Net - sits on top of Win32.
John M. Drescher wrote:
What about dynamic window layouts?
I know there are many things in Qt that I would like to also see in MFC, but MFC has many more of these than Qt does - as, for example, its adherence to the basic Windows messaging model.
Best wishes, Hans
[CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]
-
Frankly, I don't care what is the favorite framework. One of the best thngs about C++ is that it does not lock you into any framework - you can use any of existing ones, write your own, or not use frameworks at all (my favorite option). For GUI, I use WTL which is a lean library, not a bloated framework.
I agree. I have used WTL on several projects, and immediately felt comfortable with it (no surprise, since WTL started out as a lightweight alternative to MFC).
Best wishes, Hans
[CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]
-
For QT vs MFC check this link http://phil.freehackers.org/kde/qt-vs-mfc.html[^] And for checking functionality provided by QT check documentation http://www.qtsoftware.com/products/appdev/library/modular-class-library[^]
Sudhir Mangla http://tips.DevelopersVoice.com (Technical Tips and Tricks) http://Programmerworld.net (Free books and source code) http://Faq.Programmerworld.net (FAQ and Tips for programmers)
http://health.Programmerworld.net (Health tips)Thanks for the links. I found the first one to be somewhat incoherent. Maybe you could do a better job, and post a Qt vs. MFC article here?
Best wishes, Hans
[CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]
-
John M. Drescher wrote:
n my opinion it is much better designed. It definitely is better OO code,
MFC started out to be much more OO-oriented - much more similar to Borland's OWL framework. When MFC 1.0 was shown to Windows developers, their response forced MS to throw it out, and come up with the very thin wrapper that MFC is today. So, no, I don't think Qt is better designed, and if - as you state - it is better OO code, then that is a strike against it, not for it. When I'm writing MFC code, I don't have to continually think about how my code is going to map to Win32, since it is already thinly wrapped.
John M. Drescher wrote:
...signals and slots are much better than the event model
I disagree. Windows itself is event/message driven. To the extent that Qt is not, you will end up (at some point) fighting with or duplicating what Windows does. Remember that everything - Qt, MFC, .Net - sits on top of Win32.
John M. Drescher wrote:
What about dynamic window layouts?
I know there are many things in Qt that I would like to also see in MFC, but MFC has many more of these than Qt does - as, for example, its adherence to the basic Windows messaging model.
Best wishes, Hans
[CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]
Hans Dietrich wrote:
I disagree. Windows itself is event/message driven. To the extent that Qt is not, you will end up (at some point) fighting with or duplicating what Windows does.
I see your point. My reasoning is the windows event model does not work as well when it comes to the ability to extend (user created messages) and run time / dynamic created controls and layouts. These are two things that I spent a lot of time in the past to force MFC to do what I wanted.
John
-
Actually new feature in MFC are based on a subset of BCGSoft 3rd party MFC library (MS licensed it).
Sudhir Mangla http://tips.DevelopersVoice.com (Technical Tips and Tricks) http://Programmerworld.net (Free books and source code) http://Faq.Programmerworld.net (FAQ and Tips for programmers)
http://health.Programmerworld.net (Health tips)The ribbon stuff is, but not the rest.
Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
-
Nokia has announced plans to make the open source Qt toolkit available under GNU's Lesser General Public License (LGPL), alongside the existing GPL and commercial licensing options. This change could significantly boost Qt adoption, redefine the economics of cross-platform programming, and dramatically reshape the landscape of commercial application development using C++. Now the question is will Microsoft take some time to Improve MFC for Windows. Although as VS2008 Service pack Microsoft as tried to Improve MFC. But Still if I compare QT with MFC , QT is much much batter than MFC both in design and Functionality and QT is much more updated for modern programming.Anyone who has used QT will be able to tell where MFC stand against QT. QT is better then MFC and can run on nearly any platform this make it a Big challenge for MFC. For most of my career I have worked on MFC. But if MFC remains a dead project QT will be the obvious choice. Main problem for QT was its license. But now that problem is solved. I near future if Microsoft did not improve MFC most of the C++ programmer will switch to QT. Want to know your comment do U feel Microsoft will respond to QT challenge. -------------------- In addition to adopting the LGPL license for Qt, Nokia will also be completely changing Qt development model to make it more inclusive and transparent. The source code will be moved to a publicly-accessible Git repository so that the latest changes will always be visible.
Sudhir Mangla http://tips.DevelopersVoice.com (Technical Tips and Tricks) http://Programmerworld.net (Free books and source code) http://Faq.Programmerworld.net (FAQ and Tips for programmers)
http://health.Programmerworld.net (Health tips)modified on Monday, January 26, 2009 10:53 AM
Where is John Cardinal when you need him? I was hoping to see his "people still use C++ to develop UIs?" retort! :rolleyes:
Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
My latest book : C++/CLI in Action / Amazon.com link -
pseudonym67 wrote:
MFC is nothing more than an out of date framework that has been passed by along with the shift to .net languages.
I thought C++ had already been replaced by Java. 10 years ago.
Andre xxxxxxx wrote:
I thought C++ had already been replaced by Java. 10 years ago.
Wow - people still say "Java" when they mean "C#" ? Get your language names right, dude! :rolleyes:
Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
My latest book : C++/CLI in Action / Amazon.com link -
pseudonym67 wrote:
As far as I understand it from the microsoft point of view MFC and C++ are dead ducks.
When it comes to "enterprise" development. For ISVs, C++ is very much alive and is not going away.
I can second that. Among the ISVs I've met at ESWC, there seems to be about a 50/50 split between C++ and Delphi. Very occasionally I'll come aross one using .NET or Java (for example) but they're definitely in the margins. FWIW the biggest issues with .NET for ISVs I know of are a) security of the compiled executable (obfuscation gets you only so far) and b) the lack of a small non-install (e.g. statically linked) reddistributable framework runtime.
Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
-
I agree. I have used WTL on several projects, and immediately felt comfortable with it (no surprise, since WTL started out as a lightweight alternative to MFC).
Best wishes, Hans
[CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]
We've moved to it completely now..the only "live" project I've got that still uses it is ResOrg, and even that has a WTL only port underway. :-D
Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
-
We've moved to it completely now..the only "live" project I've got that still uses it is ResOrg, and even that has a WTL only port underway. :-D
Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
I'd like to hear more about that. Maybe you could keep notes and do a WTL porting article? :)
Best wishes, Hans
[CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]
-
I'd like to hear more about that. Maybe you could keep notes and do a WTL porting article? :)
Best wishes, Hans
[CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]
That's an interesting idea. I suspect we're a bit too far along with it now to make it worthwhile, though! What we've done so far is a) develop most of the add-in and WTL framework bits we need in another product (Visual Lint in this case - the Task Dialog support etc. was all tried out there first), and b) port classes on an "as required" basis from MFC to WTL. The only really sticky bit has been the doc-view stuff the original design was based around - for that we've used a WTL Doc-View implementation we found here to simplify the port. Porting individual UI classes from MFC to WTL is usually pretty straightforward, in my experience; porting a whole project is a bit trickier because you need a critical mass of the work completed to get any of it working!
Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
-
Nokia has announced plans to make the open source Qt toolkit available under GNU's Lesser General Public License (LGPL), alongside the existing GPL and commercial licensing options. This change could significantly boost Qt adoption, redefine the economics of cross-platform programming, and dramatically reshape the landscape of commercial application development using C++. Now the question is will Microsoft take some time to Improve MFC for Windows. Although as VS2008 Service pack Microsoft as tried to Improve MFC. But Still if I compare QT with MFC , QT is much much batter than MFC both in design and Functionality and QT is much more updated for modern programming.Anyone who has used QT will be able to tell where MFC stand against QT. QT is better then MFC and can run on nearly any platform this make it a Big challenge for MFC. For most of my career I have worked on MFC. But if MFC remains a dead project QT will be the obvious choice. Main problem for QT was its license. But now that problem is solved. I near future if Microsoft did not improve MFC most of the C++ programmer will switch to QT. Want to know your comment do U feel Microsoft will respond to QT challenge. -------------------- In addition to adopting the LGPL license for Qt, Nokia will also be completely changing Qt development model to make it more inclusive and transparent. The source code will be moved to a publicly-accessible Git repository so that the latest changes will always be visible.
Sudhir Mangla http://tips.DevelopersVoice.com (Technical Tips and Tricks) http://Programmerworld.net (Free books and source code) http://Faq.Programmerworld.net (FAQ and Tips for programmers)
http://health.Programmerworld.net (Health tips)modified on Monday, January 26, 2009 10:53 AM
Sudhir Mangla wrote:
I near future if Microsoft did not improve MFC most of the C++ programmer will switch to QT.
this will never happen