Linked by Thom Holwerda on Thu 15th Oct 2009 21:52 UTC, submitted by poundsmack
Qt "Nokia has announced the availability of the first Qt 4.6 beta release. Version 4.6 represents a significant milestone, the first release since Nokia's acquisition of Trolltech, the company that originally created Qt. The open source C++ application development toolkit has evolved considerably under Nokia's stewardship and has undergone noteworthy technical and licensing changes."
Permalink for comment 390007
To read all comments associated with this story, please click here.
Qt is bloatware.
by axilmar on Mon 19th Oct 2009 11:34 UTC
axilmar
Member since:
2006-03-20

I used to support Qt everywhere in online and offline discussions as one of the best, if not the best, examples of code in the C++ land. But now, I have changed my mind. Qt is officially bloatware and a step back for C++, for the following reasons:

1) the use of the archaic signals & slots system. Not type safe, since it relies on string parsing, and it requires a lot of upfront design (if you forget to make one of your methods a slot, then you can not connect it to a signal). Using strings for signals & slots does not in any way help in the design of the Qt Designer, because there are many other designers that use typesafe signals and slots systems and they don't have any issues. The signals and slots system is also incompatible with the official C++ lambda functions in the upcoming C++0x.

2) the layout system is horrible. Instead of a simple system of boxes, you have a myriad of options, including using layout classes, using widgets for layout, using size hints, preferable sizes, resizing policies etc.

3) the Model-View-Controller system is unnecessary and introduces extreme bloat in the library. In Qt 3, things were simple. In Qt 4, there are tons of abstract base classes, interfaces and models to learn.

4) Each class has hundreds of methods. It's very difficult to learn.

5) Qt does not use smart pointers. This makes it painful to integrate with other libraries.

6) The Designer is unintuitive, to say the least.

7) if you don't use the IDE extensions, you are pretty much screwed. You have to use the MOC by hand. The MOC sucks, as it is quite unnecessary, and the same things it does can be done with plain C++.

Unfortunately, for all the above disadvantages, Qt remains the only serious option for development of professional applications. The other frameworks (wxWidgets, MFC, etc) are inferior, by all accounts.