Trolltech Spills Beans On Qt 3.0
Gord.ca writes: "Linuxprogramming has
a
preview of Qt 3.0. New goodies include database integration,
multiple monitor, 64-bit support, their own component model an improved Qt Designer & international text display. Doesn't seem to be any reference to 3.0 on the Trolltech website, nor guestimates of release date." Update: 04/09 11:18 PM by T : Here's something on the Trolltech site about the new release -- sounds nice.
Are available on their FTP site. Enjoy!
Many innovations found in GNOME are direct attempts to "ape" Microsoft, from compound documents to an implementation of Visual Basic for GNOME. Not that this is (all) bad; MS came up with some pretty good software design strategies, and GNOME is smart to follow the good ones.
That having been said, I use both KDE (on my home desktop) and GNOME (at work). They're basically the same as far as I can tell, from a UI point of view. There's a couple of minor differences (it's easier to use workspaces in GNOME; it's easier to set fonts in KDE; I like Konsole better; I like GTK's look-and-feel better), but they basically do the same things as each other, and both better than Windows. Which I think is the point.
GNOME is no longer designed specifically for Linux, as GNOME now must be working on Solaris and FreeBSD before it can be released.
Not bloody likely. In fact, one could argue that using a cross-platform environment such as Qt or wxWindows is closer to the hacker ethic of "solve the problem once." In fact, part of Python's success as a GUI building language is wxPython. I've also heard of cases where Qt/Python is used to build GUIs for software that's meant to run on Windows and UNIX, although that involves some expense...Qt is NOT GPL'd for Windows!!
OK, that's my two cents.
ObJectBridge (GPL'd Java ODMG) needs volunteers.
Finding God in a Dog
I'm guessing you don't program. C++ lends itself to incoherent parameter-passing, inscrutable overloading, downright insane side-effects of innocuous looking declarations and the kind of debugability that one has come to expect of biological systems.
I have a great deal of respect for what C++ tried to do with C, but let's face it: good design principles are not what C++ lends itself to. What C++ has going for it is that it's the first language that a lot of people learned OO concepts in. Certainly, all of those concepts can be applied in other languages (e.g. Gtk+ in C), and OO has been done better elsewhere (e.g. Java, Smalltalk, Python, etc), but that's not why people use C++. They use C++ because they feel they need speed and a language that the average joe will know how to "do OO stuff" in.
I'll trade
Ignore the startup time. How much slower will your desktop be overall? Will people with last month's machine be able to run it cleanly? How embeddable is it?
- rich Every feature that I know of in Qt is supported in other widget sets
- clean Large widget sets are cleanly coded (e.g. Gtk+) or they die (e.g. Motif). It's very hard to maintain a poorly coded widget set.
- well-designed What widget set do you feel is poorly designed and has traded memory requirements for it other than Motif, which is a poorly designed pig, I'll grant.
- well-documented None of the widget sets that I know of trade memory for documentation. I think this one's a bit of a straw-man.
- object-oriented I've never seen a non-OO widget set for X or Widnows. Which ones were you thinking of?
- portable This is the one that gets me. Qt is written in C++, and thus suffers from C++'s portability problems (which is exactly why Sun was unable to choose Qt for Solaris) from the onset. It can never be as portable as something written in C (e.g. Gtk+).
All things considered, I don't think any of your points are sufficient to warrent the extra memory requirements....Awe damn, now look what I've done. I've responded to a toolkit troll with a language troll!
If you intended this as a troll, I guess you succeded, but you certainly did not succeed in laying out a case for Qt or C++. Both are deeply flawed, and those flaws are not sufficiently offset by either's merits.
Sun, HP et al joined with the gnome foundation prior to Qt being released fully GPL. To go with KDE would mean licensing issues, and fees paid to Trolltech for every copy of their OS shipped.
Since that time, I have heard MANY people saying that Qt is fully GPL. If this means that it can be used for free in a commercial product, Sun, HP, et al may have more decisions to make.
More importantly, though, is the fact that KDE, as well as Gnome, and many 'Linux' desktops are not exclusively Linux at all.
My Sun machines, other than pure servers, all run KDE. So do my Linux boxes. I know people who do the same with Gnome. And Windowmaker.
The point here is that it's all about choice. I have the choice to use KDE, you have the choice to use Gnome, and others have the choice to use whatever they want. Ideas, innovations, etc from one desktop quickly migrated to others, and in the end, we will hopefully have many mature, stable desktops, which can be quickly and easily exchanged, based on a persons tastes, needs, etc.
There are those who will use whatever comes installed on their machines, and never tinker. But I for one am glad that I can replace bits and pieces, until I get my machine to my liking.
So why use KDE? For the same reason that many people put Linux on in the first place. If you like what you have, stick with it. Many people didn't like the Windows that came with their computers, and installed something else. If you like Gnome, stick with it. If you find yourself not liking it, or wondering if something else just may be more to your liking, try KDE, or Windowmaker, or whatever.
Yes, we all know that the Linux community is entirely made up of "average" users. Sheesh.
Databases on Linux? Nah.
Multi-monitor Linux boxes? Nah.
64 bit Linux platforms? Nah.
Non-english speaking Linux users? Nah.
Looks like we don't need Qt3, then.
"Good people drink good beer"
From the perspective of a KDE developer (the primary users of QT fwik), I really have to wonder how much of this stuff is desirable:
"Database Programming: Qt 3.0 will include a platform- and database-independent API for accessing SQL databases": KDE already has put significant resources towards a uniform Database model, as has the GNOME project and even specific languages (DBI for perl, f.e.). Why do we need or want, yet another splinter in the market?
"Qt Designer: Qt Designer has now evolved from a dialog editor to a true GUI builder.": Okay, so they seem to have cloned some of the capabilities of KDevelop and others. My question is WHY? So they can sell it to windows users?
"Qt Assistant: Qt 3.0 features a separate application called Qt Assistant, which can be used to browse the Qt Class Documentation, as well as the Qt Designer and the Qt Linguist manuals. Qt Assistant offers index search, contents overview, bookmarks, history and search in pages. ": Again, KDevelop seems to have most if not all of this capability...
"International Text Display": Hrm... pango in a box.
"HTTP network protocol support": Proving the QT is not just a gui toolkit, they implement protocol support. What the heck for? Isn't this better implemented in the 'framework' kind of level as KDE has done? Konq obviously supports this, as does the protocol facilities in general...
"New Component model: Qt 3.0 will provide a platform-independent API for runtime loading of shared libraries and accessing of their functionality using a COM-like interface concept": WHY does QT want to develop their OWN object model? Isn't enough enough? Do they really have value add here? XPCOM is MUCH more portable than they could ever support QT with. Why would they want to add this?
Being a naive user, I have to wonder how much of this is actually useful for free software development. We seem to already have superior solutions for much of what they are providing. Some things (that I have not listed) will definately be nice (64bit portability, better unicode/localization, multiscreening, etc...) and actually seemed to be related to the core of QT: the graphics toolkit.
It seems to me that they are basically trying to reinvent what the freesoftware community has already developed in order to sell it to those less worthy (ie win32/commercial developers). Am I missing something here, or is there a reason a GUI toolkit should have its own incompatible object model?
-Chris
From Linuxprogramming.com's QT 3.0 Preview story:
Wow! Now I can put a Linux GUI in my car!
MacOS, Windows, BeOS, GNOME, KDE: they're all just Xerox copies
"Everybody's doing it" never struck me as an important reason to do anything :-)
I, on the other hand, haven't used Gnome recently. My impression of the differences from an end-user perspective (note:based entirely on hearsay, posts on Slashdot, voices in my head, and other incredibly reliable sources!) is that KDE has a more "tightly 'integrated'" feel than Gnome does (this may or may not be a good thing, depending on your tastes). Gnome, on the other hand (aside from Antialiased fonts), has a reputation for being better with the eye-candy. I also get the impression(again, just an impression) that Galeon isn't yet as "polished" as Konqueror is [this may or may not still be true).
Yet another possibly unfounded impression - I get the feeling that KDE development is moving faster than Gnome development at the moment, though I gather that Gnome development is still clicking along quite well.
In the end, honestly, I think it's as much a "look and feel" thing as anything else, unless you intend to contribute to the development, in which case if you're in the "Ewww! C++ Sucks!" category, you go with Gnome. :-)
In short - I'd say pull down the KDE 2.1.1 packages for your favorite distribution and try it out. I recommend using it just long enough to get over the traditional "this sucks because it's not what I'm used to" phase...then decide. You may very well decide that you still prefer Gnome, in which case, no big loss. You may also decide that you like KDE better. Also no big loss. You may not be able to decide, and find yourself switching back and forth regularly. That'll cost you a little extra time and effort due to possible addiction to bleeding-edge updates from 2 large projects instead of one, but still fun...
The more people that try both, the more "interoperability" improvements between the two will be suggested and implimented...
---
"They have strategic air commands, nuclear submarines, and John Wayne. We have this"
Hacker Public Radio is our Friend
I for one am sick of hearing about people saying that this is better than that or that is better than this. It's been going on for too long. Emacs vs. Vi, Linux vs. BSD, KDE vs. GNOME, Sony vs. Nintendo, whatever....
If you like KDE, use it. If you like GNOME, use it. If you like pizza, eat it.
I don't think it matters if KDE is better than GNOME or vise versa. I think what matters is that people have the option to choose what they like best. One of the many reasons I feel uncomfortable when I use windows, mac or beos. I'm not even going to say what I use as my desktop because it's irrelevant (and no it's not GNOME :O).
Just my $0.02
--
Garett