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."

30 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. Faster? by Kenterlogic · · Score: 3, Interesting

    I have alwways preffered Gnome to KDE because of speed issues (and the new Gnome is a lot prettier). But if this new base is much faster, then I may be forced to start using KDE again. Then again, my G5 should be arriving soon-- so forget Linux.

    --
    The New Root Council, kickin' ass sinc
  3. RTFA! by Anonymous Coward · · Score: 3, Informative

    Paragraph 2:

    "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."

    How much stuff do you think uses the meta object system directly, aside from the internals of KDE?

    1. Re: RTFA! by Rimbo · · Score: 3, Interesting

      Jesus, I was wondering when someone was going to say this. Qt developers obviously aren't reading slashdot. other than you and me, that is :D

      I think the large number of complaints is that although source-compatibility is -basically- maintained, you still have to recompile your apps. One of the nice things Microsoft has done is that you don't have to recompile your Win32-based app to work in .NET -- well, not completely, anyhow. This does have the side effect of dirtying up the API a bit. So it's a trade-off. Backwards compatibility does make GUIs easier for people to adopt -- who wants to constantly have to download new apps to work with the latest version???

  4. 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.

  5. What I would like to see.. by ErisCalmsme · · Score: 3, Interesting

    Is more apps that require QT but not all of kde to run. That's why I use gtk apps... because most of them dont require gnome. There are gnome apps of course, and there are progs like Gaim that will give you a little somethin' extra if you have gnome installed, but you don't need it... Are there any qt apps that dont require kde to be installed?

    --
    Chaos is Divine *
  6. 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.

  7. 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!
  8. 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

  9. 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.

    1. Re:QT4 by SlayerDave · · Score: 3, Informative

      That's true, the Java API has a very large number of classes. But what I like about their docs is the use of frames, which is normally quite annoying, but is well-done in the case of JavaDoc. Also, you can select a particular package to view, such as javax.swing or java.util, which greatly limits the number of classes you have to browse. Also, I like the ability to see clearly what members are new in each class and what members are inherited and/or reimplemented. Also, getters and setters are listed together in the Java docs, but not in the QT docs. I think these features make the Java docs easier to navigate than the QT docs.

  10. 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.....

  11. 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.

  12. Re:This might mean something to me by phurley · · Score: 3, Interesting

    I use and enjoy wxWindows, but I do not think your criticism of QT and their licensing is very fair. They have a completely free license (GPL) which you can use - to create completely free applications. They have commercial licensing (admittited too expensive for "shareware" type applications).

    There is a completely reasonable middle ground where you can release your application as GPL code - which you can legally sell for any price you want - yes you need to provide the source code to your customers (not a bad thing) and yes they can then give it away to their friends, family and even people they pass on the street - but if your application has true value - they will probably be more than willing to pay for it (especially if it is as low cost as you claim). Many users are not sophisticated enough to compile their own binaries and the making the "official" binaries what you sell - is legal.

    Now if you are just upset because they will not give you (or sell at the price you pick) their library for you to use in closed source for profit applications, then it is far better that you found a different library.

    --
    Home Automation & Linux -- now I know I'm a geek
  13. 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
  14. How about more standard C++ by Ed+Avis · · Score: 3, Interesting

    Is it too much to ask that the next Qt will use the standard C++ string class instead of its own reinvention and kitchen-sink-itis that it suffers from at the moment?

    --
    -- Ed Avis ed@membled.com
  15. Re:use of macros in C++ by js290 · · Score: 3, Informative

    Ever tried stepping through code with a debugger that's full of macros? Not fun, unless you like printf's. As far as Troll Tech using macros for their signal/slots, I don't care as someone using their toolkit. One less abstraction to worry about.

    --
    "Tempers are wearing thin. Let's just hope some robot doesn't kill everybody." --Bender
  16. AC Comment from other Canopy Employee by bstadil · · Score: 3, Interesting
    Since my comment has been modded a Troll I think you should read this posting from another Canopy Company employee.

    Quote:

    As an employee of a company in the same office buildings as SCO and partly funded by Canopy Group, I strongly encourage a boycott of all companies funded by the Canopy Group.

    There was a lot of buzz about mergers a few weeks ago. It seemed that everyone was going to join into one large company called, you know it: SCO! .......

    --
    Help fight continental drift.
  17. Backwards compatibility is important by ZorinLynx · · Score: 3, Insightful

    Sigh. I really hate to say this, but I must agree with keeping API's backwards compatible across versions of libraries.

    I've been using Linux for years now, and one of the biggest annoyances is that software packages tend to be tied very closely to a specific version of a library. Without backwards compatibility, you sometimes need to have two or three different versions of the same library installed in order to use different applications.

    When a library is used by a wide variety of applications, like Qt, GTK, libc, and so on, backwards compatibility should be ensured. Yes, this means the library may be a bit more bloated than it has to be, but the bloat isn't as bad as the bloat that results from having to install an ancient version of Qt in order to run an app that hasn't had active development for a few years.

    This is coming from someone who doesn't do much software development; I just maintain a lot of systems and software libraries.

  18. KDE Conference Talk Writeups by JRiddell · · Score: 3, Informative

    Writeups of the talks I went to are at:

    the Nove Hrady wiki.

  19. Qt 4 vs Qt 6 by egommer · · Score: 3, Funny

    I don't know why you all are worried about QuickTime 4 f. I personally use QuickTime 6 on my iMac. Sheesh. You can't even see the latest pron and movie trailer's with Qt 4. Oh Wait... I think this is somthing else.. Damn you! you- 133t linux users fooled me again.

    --
    Two Towers-Two Worlds.One seeks triumphs and freedom for man.The other deems man unworthy and wrecks them.
  20. 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...
  21. Re:Here's what I expect by be-fan · · Score: 3, Insightful

    They *can't* do that. The Free Qt foundation (made up of two members of TT and two members of the KDE Project) ensures taht Qt will always remain free. If TT goes away, or decides to discontinue work of the Free edition of Qt, the latest version automatically becoms BSD licensed.

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