Slashdot Mirror


TrollTech Releases Qt 3.0

Dr. Sp0ng writes: "TrollTech released Qt 3.0 today. Among the new features are platform- and database-independent data-access features, data-aware GUI widgets, a much-updated Qt Designer, and much better internationalization and font handling features. It breaks binary compatibility but keeps almost complete source compatibility with Qt 2.x. The KDE team has already begun work on KDE 3.0, which will use the new toolkit."

13 of 285 comments (clear)

  1. Something to think about by Reality+Master+101 · · Score: 5, Insightful

    How far would Microsoft have gotten if they "broke binary compatibility" with major releases of Windows? Basically, not far at all. That's not to say that Windows has perfect backward compatibility, but I don't think it's too strong a statement to say that one of the reasons Microsoft has dominated is that they have given people an upgrade path for their old applications.

    Of course, the downside to this philosophy is the incredibly crufty interfaces to a lot of the Windows functionality. But I think it's key to point out that users don't care at all about those things -- they just care that their applications work.

    If the desktop dreamers ever want to see Linux on the desktop, then they need to not destroy everyone's applications if you want to upgrade. Just telling everone to "recompile your applications" is not going to fly well with the typical user.

    --
    Sometimes it's best to just let stupid people be stupid.
    1. Re:Something to think about by Skeezix · · Score: 5, Insightful

      I am sure that KDE 3 and KDE 2 can be installed in parallel. That's what we're doing with the GNOME 2 release. In other words, you'll still be able to run you're GNOME 1.x applications...you just have to have the GNOME 1.x platform libraries on your system in addition to the GNOME 2.x libraries. Distributors such as Red Hat will take advantage of this, so your apps won't "break".

    2. Re:Something to think about by cnelzie · · Score: 4, Insightful

      If you have package management, this is easy. rpm -e kde1-compat kde1-compat-devel. Done.

      Wonderful, now go and tell that to the barely computer literate masses that GNOME and even KDE are being designed for. They will look at you with a "What the heck did you just say? RP..What?"

      Sure, you can just blow them off and say that they need to get back to running Windows. The only thing is, they have the same trouble with Windows. It is mostly that computers, in general, are still to dificult to use for the average person.

      I know what I am saying, because I have family. They are also very technically illiterate and have very little wish to really learn how to do anything technical with a computer system.

      As for having prior DirectX versions in the latest release. That I doubt. I have more than a few apps and games that fail to run under newer releases of DirectX. Some that fail to run even under the "Compatibility Feature" in 2000 and XP.

      These apps and games are also not very old either. About 3 years for one and about 5 years for another one of the first DirectX 2.0 Games.

      --
      .sig seperator
      --

      --
      If you ignore the other uses of a tool, does that make the tool less useful, or you less useful?
  2. Professional user of QT 2.12 by anfloga · · Score: 4, Interesting

    And all I can say is, what a joy to work with this QT toolkit is.

    Before I wrote software which uses QT, I wrote it using Motif. The designer that comes with QT is light-years ahead of any designer I've used for Motif. The "slot/socket" mechanism that it uses allows me to use a more abstract GUI design. And the geometry management is much nicer as well.

    Just thought I'd throw those thoughts in. No, I don't work for Trolltech. Lykke til Trolltech!

    Hope I said that right. It's been years.

  3. Re:Binary compatibility by Dr.+Sp0ng · · Score: 5, Informative

    While having open-source code makes source compatibility easier to handle than binary compatibility, I've been wondering if there has been any work towards improving binary compatibility between versions of major libraries.

    This is an issue with C++... since most of KDE's widgets are subclasses of Qt widgets, they are very dependant on the signature of the Qt class. When the class signature changes (for example, when a function is added or removed, or a data member is added), the derived class needs to be recompiled or the linking will be all screwed up. This isn't an issue between minor revisions of the library as the API is stabilized, but with a major jump (2.3.1 -> 3.0), the API or implementation changes and things must be recompiled.

    It's impressive that TrollTech (which is a great company, btw) managed to keep source compatibility so well. I'm a professional developer and we're using Qt for our app (which is currently ~20,000 lines), and exactly *1* line of code needed to be changed when we moved from 2.3.1 to the 3.0 betas.

  4. Re:was wondering... by ryants · · Score: 5, Informative
    where does Trolltech get its revenues from? Support, selling some other product?

    You may write commercial/proprietary/non-free software only if you have purchased the Professional or Enterprise Edition. Qt for Windows is only available as Professional or Enterprise Editions.

    So, basically, you can (have to) pay to get away from the GPL/QPL/whatever their license is called these days.

    They also sell training.

    See http://www.trolltech.com/developer/faqs/general.ht ml?cr=1

    --

    Ryan T. Sammartino
    "Ancora imparo"

  5. Qt improvement BETTER than KDE improvements by alexhmit01 · · Score: 4, Offtopic

    KDE is an impressive desktop, it works nicely, and has really grown. I always play with new releases on a Linux box, though my daily desktop in a Win2K laptop. It's fun to watch Linux's desktop grow, but I need too many Win32 only programs. My G4 Cube is fun as well, but I still have the Win32 problems, so the laptop stays.

    However, looking at two "market" outcomes: Win32 vs. Cocoa|Carbon vs. Qt/KDE vs. Gtk, OR Win32 vs. Qt, and you clearly see which API system is more likely to allow competition on the desktop.

    Java held great promise, but MS has succeeded in killing desktop Java. Without WORA, there is no real advantage to Java (the platform), but Qt has an interesting perspective.

    As Qt Designer grows, it can become competitive to Visual Studio. Potentially, Qt becomes the glue that binds everything together.

    If you can build a Qt application for Linux/MacOSX/Win32, or a Win32 app for Win32, there is an advantage to make the former. You still need to QA all the platforms that you support, but Qt lets you produce a product for multiple markets.

    For a small company, Linux/MacOS provide a niche to target, but adding Win32 really makes this compelling. The windows market is MUCH more competitive, so being apple to primarily target niche markets but still selling to the dominate market is tempting.

    Go Trolls go!

    Alex

  6. Re:database functionality... why? by jfunk · · Score: 5, Interesting
    A bunch of points in no particular order:

    • Qt was never intended to be just a GUI. It was intended from the beginning to be a RAD environment. That means simplifying many programming tasks including, but not limited to: GUI stuff (QWidget on down), string use (QString, etc.), internationalisation (i18n, QtLinguist, etc.), 3D graphics (QGL), and the elimination of evil callbacks (signal/slots are my very favourite feature). You can also create non-GUI apps under Qt, if you want (KDE's 'dcop' command is an example. try an 'ldd' on it)
    • Database functionality is actually quite important for a toolkit such as Qt. Have you tried Kylix? It's biggest selling point is it's DB functionality. It's really simple to quickly create DB apps, even if you can only use MySQL or Interbase. We have it where I work but we use PostgreSQL. I will definitely be trying Qt's new DB functionality
    • Do you *really* want to make a frontend in Qt and a backend in Java? If you're going to use Java, you might as well use Swing or Awt for the GUI bits. Besides, I've seen some terrible experiences with getting different Java programs running under various JREs on Windows. If you can simply compile a binary and an installer, then the user only has to install one thing and can avoid JPain


    OK, not so many points as I thought...
  7. Re:Binary compatibility by elflord · · Score: 5, Interesting
    While having open-source code makes source compatibility easier to handle than binary compatibility, I've been wondering if there has been any work towards improving binary compatibility between versions of major libraries.


    The short answer is yes, there has been. The biggest problem has been with the C++ libraries, and g++ is finally standardising on a stable ABI.
    As for Trolltech, they've always worked hard to maintain binary compatiblity (eg minor releases are binary compatible), indeed there were more
    problems with binary compatiblity caused by libstdc++ issues than with Qt itself. I'm not
    sure that KDE has been as stable, though this
    should improve. (The move to DCOP resulted in growing pains)


    To get some appreciation of how fragile binary compatibliity is, read this. Binary compatibility is fundamentally
    difficult to preserve in C++, and I don't think there's any clean way around it. Fundamental
    changes in interface or exposed structure
    (that means anything besides opaque pointers) will break binary compatibility.


    Personally, I think the fundamentals need to be
    nailed down. C++ and C libraries need to preserve
    binary compatiblity. On the other hand, I don't
    think there's a problem with other libraries, so long as they maintain binary compatiblity across minor releases. (users could install multiple versions of the same library)

  8. QT Pricing by hack0rama · · Score: 5, Insightful

    QT is not free for cross platorm freeware.

    Earlier we did not had a very good choice for cross platform GUI, AWT/SWING did not have the performance of native GUI and WxWindows was not powerfull/rich enough.

    Then came QT and I thought wow ! this is it, for my next cool application, eventhough I will develop it on Linux, I can make it available for Windows as well as Mac users.

    Then I realised its only free on X, you got to pay around 1500$ to get it on other platforms even if you want to write/ditribute a freeware app.

    On Windows you pay 50$ after rebates to get a copy of VisualC++ 6.0. And for 50$ you get a compiler, GUI class library, and IDE and debugger. And just for the QT library its 30 times more than Visual C++, how can any hobby programmer afford it ?

    I hope Trolltech come out with a more sensible pricing for freeware developers on Windows/Mac which should help QT to gain more acceptance in the non Linux programming community as well.

    1. Re:QT Pricing by Anonymous Coward · · Score: 5, Informative

      Hi!

      We will be releasing Qt/Windows 3.0 non-commercial and Qt/Mac 3.0 non-commercial within 1-2 weeks (current release date: 20/10/2001)

      Michael
      TrollTech A.S.

  9. Re:are all KDE contributors paid licensees? by Bob+Uhl · · Score: 4, Insightful
    Read the GPL--which Qt is now offered under. As long as you abide by th (well-known and acceptable to many) terms of the GPL, it doesn't matter what you do.

    If you wish to offer non-GPLed code to the world, then yes, you'll need to purchase a license from TrollTech (a great company, from everything I hear). Personally, I really do hope that things go well for them. They're good guys. Does the KDE project have any plans to donate money in their direction?

    Personally, I'm a gtk+ man, simply because I prefer C development, and like gtk's handling of classes, types and all that. I also prefer GNOME as a desktop environment. But KDE is sweet, to be sure. It just doesn't do quite what I like. Choice is a Good Thing(tm). I look forward to many years of desktop competition. It should be interesting.

  10. Who killed Java? Who will kill Qt? by fm6 · · Score: 5, Insightful
    Java held great promise, but MS has succeeded in killing desktop Java.
    Even if you subscribe to the worst MS conspiracy theories, you can't give MS sole credit for killing desktop Java.

    Sun deserves a lot of credit. If you're going to introduce a Revolutionary New Approach to Programming, you shouldn't do it with inefficient, buggy VMs, or quickie compilers that don't properly exploit garbage collection. Thos mistakes gave Java a reputation for flakiness and inefficiency it still hasn't fully dispelled.

    And if you want everybody to start using Java to develop desktop apps, you don't suddenly shut down your own application development efforts before they've had a chance to bring their product to market. But of course IBM, Oracle, and all the other biggies were doing that too. Coinciding with the downfall of the Network Computer.

    And that's what really went wrong with desktop Java. Platform independence was never enough by itself to make Java widely adopted on the desktop. You had to give people a reason to abandon their investment in Windows-based solutions. That reason, was the Java-based NC, which was supposed to lower the Cost of Ownership for big corporate computer buyers. (And, not incidentally, give these same buyers a reason to buy proprietary Sun and IBM hardware instead of commodity PCs.) Unfortunately, nobody bought the NC idea, and the main market for Java desktop apps disappeared.

    Some, but not all, of this history is repeating itself with Qt and KDE. Being technically superior to Windows wasn't enough for Java, and it won't be enough for the Linux desktop.