Linked by Thom Holwerda on Wed 7th May 2008 08:54 UTC, submitted by elsewhere
Qt Yesterday, Trolltech released the final version of Qt 4.4, their graphical toolkit which forms the base for, among a lot of other things, the KDE project. It still features the dual-license model (of course), so proprietary developers can license Qt, while open source developers can get a GPLd version (both GPL 2 as well as 3). Read on for a quick overview of the new features, as well as some findings by Ars Technica.
Permalink for comment 313276
To read all comments associated with this story, please click here.
RE[2]: The BEST!
by jacquouille on Wed 7th May 2008 14:26 UTC in reply to "RE: The BEST!"
jacquouille
Member since:
2006-01-02

The concern about replacing parts of the STL has, in my opinion, been adressed in the 4.0 release when Qt was split into smaller modules. For instance, if you use QString in a library, you only need to link to QtCore. That is a reasonable dependency just like another. It is much lighter than linking to all of Qt -- which practically no app or library does.

It is perfectly OK to replace the standard library and Qt is certainly not the only such alternative. For example Boost also provides replacements for many classes, and I think that GTK (and GTKmm) also does. The standard library is rather old-fashioned and C++ programming has evolved since the times when it was designed, 20 years ago. You mention better unicode support as an advantage of QString over std::wstring, and I would mention at least another one: copy-on-write. Being able to write a function that just returns a QString without paying the overhead of uselessly copying that string, is awesome.

About the Meta-object-compiler, (MOC) what's wrong about it? It provides huge advantages that one just can't achieve otherwise. The biggest one is introspection. Ever wondered why Apple uses Objective C instead of C++? Introspection. The MOC brings introspection to C++, and that's huge. QObjects can e.g. enumerate their own methods, call methods by name, etc. This allows for much more flexible signals-and-slots than is possible with tempate solutions (a la GTKmm). Hugely valuable for a GUI toolkit, to connect to dynamically loaded components. It also improves the i18n system. Trust me the MOC brings enough benefits to justify its existence ;) And by the way who said C++ was an immuable thing that nobody may improve except for an ISO committee ;) Some more info here:
http://doc.trolltech.com/4.3/templates.html

Edit: one important precision, the MOC is, like the other Qt tools, Free software released under the GPL 2/3. So it's not at all a "proprietary extension to c++" as is sometimes trolled.

Edited 2008-05-07 14:31 UTC

Reply Parent Bookmark Score: 12