Slashdot Mirror


What to Expect From Qt 4

An anonymous reader writes "A presentation given by Matthias Ettrich (director of Qt development, author of LyX, and founder of the KDE project), was given to the annual KDE Developer's Conference in Nove Hardy, Czech Republic. In this presentation, Matthias details what's going to be new in Qt 4.0, which will be used as a base for the next version of KDE after 3.2. Apparently, Qt 4.0 will not only include faster startup times and lighter memory usage, but will have sweeping architectural changes, including a splitting of Qt's GUI classes and non-GUI classes."

17 of 386 comments (clear)

  1. It Sounds Nice by Jeagoss · · Score: 5, Insightful

    but, is it absolutely essential? In a time where code needs to remain compatible due to the large amount of projects that are depending on that code, huge architectual changes implemented in a large number at one time will just show that the project wont get used for quite a while. It will take time for developers to start supporting the new format, which will leave end users wanting.

    --
    Password Authentication Bypassed for Root
    1. Re:It Sounds Nice by siliconwafer · · Score: 4, Interesting

      The lighter memory usage and faster startup times sound very nice. Maybe not essential, but nice.

    2. Re:It Sounds Nice by Coventry · · Score: 4, Informative

      Remember, QT is a library, and trolltech makes their money from it. I'm pretty sure that all that will be needed for most apps using current QT is a recompile with the new tools (QT has a tool used as part of the Make process). To use the new features might require changes to code, but thats a different story - you're already changing your code to add new features.

      --
      man is machine
    3. Re:It Sounds Nice by stratjakt · · Score: 5, Interesting

      Qt 4 mostly tries to preserve source-compatibility with a little search and replace and a COMPAT compilation switch. More porting will be required for styles and code that uses the meta object system directly.

      Out with the old, in with the new.

      Developers can adapt or fail. It doesnt seem wise to quit working towards better systems because some guy doesnt feel like replacing his widgets.

      --
      I don't need no instructions to know how to rock!!!!
    4. Re:It Sounds Nice by Overly+Critical+Guy · · Score: 4, Insightful

      Why are Linux users so afraid of change? It's the very reason we suffer through so much legacy compability to slow things down.

      I welcome any sort of innovation. People will update their apps to meet any changes.

      --
      "Sufferin' succotash."
    5. Re:It Sounds Nice by Otter · · Score: 5, Interesting
      Developers can adapt or fail.

      Remember, though, that we're talking about volunteer developers. If they fail, there's no one rushing in to take their customers. I remember when the KDE 3 plans were being made, there was a recognition that KDE's weakness is in the number and quality of apps and so there was a goal of keeping the APIs stable for as long as possible.

      Now, greatly improved startup time would obviously be a huge reason to switch as soon as possible. Since pure Qt apps already start much faster than KDE apps, though, I wonder how much speed KDE would really gain.

  2. Re:This is what I really want from Trolltech. by AugustMoon · · Score: 5, Insightful

    Big deal. There is no law against having your stock owned by questionable companies. Furthermore, no publicly traded company can really control who buys their shares. They are publicly traded, any one can buy or sell the ownership.

    It doesn't automatically mean Trolltech inherits all the vices of every one who owns shares.

    I would not be worried or even morally concerned until Trolltech's business decisions go south. Minor share holders don't dominate a company. Even 5.7% isn't a lot.

  3. gcc dynamic linking? by 4of12 · · Score: 4, Interesting

    A couple of years ago someone on the KDE team posted a nice analysis of the performance bottlenecks associated with dynamic linking, C++, and gcc, particularly as regards Qt use.

    So I have to wonder, with Qt 4, KDE 3, gcc 3.3, how many of the performance problems remain?

    --
    "Provided by the management for your protection."
    1. Re:gcc dynamic linking? by IamTheRealMike · · Score: 4, Interesting
      That's what all the talk about reducing number of symbols and relocs is about - KDE got hit really really hard by the way it requiries lots of fixup at startup time in the linker. In some cases it was THE biggest drain on startup time. By reducing the number of symbols in the code, you reduce the work needed to dynamically link it all, so improving the speed.

      Though, I can't help thinking that prelink is a better solution to that problem. But whatever, they are surely aware of that technology by now.

  4. Re:This might mean something to me by Bingo+Foo · · Score: 4, Insightful
    Their licensing scheme doesn't "suck." It's just incompatible with your goals, i.e. a free toolkit which you can use to create salable apps. If you don't like it, you can:
    1. Buy a Qt commercial developer license
    2. Release your own apps as open source
    3. Use a different toolkit
    It sounds like you have chosen #3. I'm sure the people at Trolltech are able to sleep well regardless.
    --
    taken! (by Davidleeroth) Thanks Bingo Foo!
  5. use of the standard library by Eponymous+Coward · · Score: 4, Interesting

    I'd like to see more use of the standard library. The traditional complaints of poorly conforming compilers is mostly just history. Except for support of the export keyword, most C++ compilers and standard library implementations are now quite good. Most platforms even have several excellent compiler / library combinations to choose from.

    Even though it would be hell for already existing apps, I would love to see use of standard library components rather than the re-invented QT versions. And even in those cases were the QT versions have extra features, I still think the advantages of using a library that is already familliar with most C++ programmers outweighs the disadvantages. Of course, that's just IMHO.

    ec

  6. QT4 by SlayerDave · · Score: 5, Insightful
    I have recently spent a good deal of time programming with QT3. While QT is the best C++ GUI library and application framework, I think it needs some improvement. Here are my gripes, in no particular order.

    First, the signal/slot mechanism really bugs me. I am annoyed with the need to use non-ANSI C++ techniques (e.g. public slots, moc) to achieve results that could easily be done with legal C++ code. While not strictly illegal, the use of the SIGNAL and SLOT macros, along with the Q_OBJECT macro, are not very good techniques. Specifically the reliance on macros to achieve basic GUI functionality violates a key principle in Meyers' "Effective C++", namely avoiding reliance on the preprocessor.

    Second, several GUI widgets do not have a proper separation of data from view. I am thinking specifically of QTable and QListView. A better approach, from an OO design perspective, is the one taken in Java Swing. The JTable and JTree provide a nice mechanism for separating the data model from the GUI display. I find it obnoxious to have to subclass QTable and build-in data model methods to achieve results that would be cleaner under a Model-View design paradigm.

    The QT online documentation is not easy to navigate. They should take a lesson from the Java API docs and reorganize the QT docs along those lines.

  7. Why turn KDE into Gnome? by HanzoSan · · Score: 4, Insightful



    This is the exact problem Gnome has. They keep messing around under the hood and nothing changes from the user point of view, development is moving at turtle pace because developers who want to write gnome apps cant figure out what to use because some new bonobo/mono type thing comes out every 6 months.

    Developers need stability if they are going to work on big projects, we need at least a few years before a big re-write. I cant develop for Gnome because everytime I try to start they change something.

    --
    If you use Linux, please help development of Autopac
    1. Re:Why turn KDE into Gnome? by IamTheRealMike · · Score: 4, Informative
      I guess you'll be pleased to hear that GNOME 2 remains fully backwards compatible throughout the 2.x cycle - in the history of the project, it's broken compatability in a major way only once, compared to KDEs 2 times (though 2->3 was extremely trivial for 99% of apps).

      Mono is entirely irrelevant - it's not related to the GNOME project other than having Miguel/Ximian involved, and you are certainly not forced to use it to write GNOME apps.

      Basically, I think you're misinformed - if you write an app for GTK2/GNOME2, it will continue to work for quite a long time, until the next major revision (which is going to be needed simply in order to properly sync KDE and GNOME around standards eventually anyway). So, I don't know what you're complaining about really.....

  8. Very nice. But they forgot one minor thing: by master_p · · Score: 4, Interesting

    I don't have any major complain from Qt, as I have been using it a lot in our company and found out that it is the best.

    I only have this problem: the TreeView widget is single-linked. This a major problem for us, since our apps contains lots of trees. We have to do a lot of tricks, like keeping a pointer to the last item all the time.

    I've posted this on the Qt newsgroup but I was ignored. Although many people have complained about it, Qt engineers ignored us. I think they should fix it in version 4.

    Other than that, Qt is indeed the finest toolkit out there. It simplifies development a lot, and it fills the great void that exists in C++ libraries. It's really like the Java libraries or the .NET libraries, providing almost everything needed under the sun.

    The biggest advantage of it is that it works as expected; in other words, you just create one widget inside the other, and voila, there is the app's gui. You can even do it programmatically, without the KDesigner.

    Finally, it does C++ justice. It's the only library that shows how powerful C++ can be. After having used Qt and Java, I may safely say its up on par with Java...even better I would say, since it uses all of C++ capabilities, including the most important one: templates.

  9. GTK - nyed! by Moritz+Moeller+-+Her · · Score: 4, Informative

    Most of the applicatons you presented as GTK apps do not use GTK widgets:

    Openoffice/Staroffice does not use GTK at all (in fact the first SO port to Linux was done by Matthias Kalle Dallheimer, a KDE founder...)

    Mplayer has an optional GTK gui, which is hardly used by anyone. It also has at least two KDE guis. Not a very good GTK app.

    XMMS has it's own GUI, GTK is basically used for the file dialog, which is arguably not the most impressive part of GTK.

    Mozilla/Netscape uses XUL, it's own toolkit, again no GTK widgets are used, just some basic drawing routines.

    This leaves GIMP (functional, but ugly) and GAIM (never used it, AOL is not my thing) for GTK.

    --
    Moritz
  10. Re:Trolltech and Canopy/SCO by be-fan · · Score: 4, Informative

    Dipshit.

    A 5.7% stake hardly makes TT a "Canopy puppet."

    Hint: Look at Canopy's website. Note that TT is listed under "Portfolio Companies." Understand that this in no way means that they are controlled by Canopy group. Hell, Microsoft owned about as much of Apple after their $150 million investment. Did that make Apple a Microsoft puppet?

    --
    A deep unwavering belief is a sure sign you're missing something...