Re: Qt pricing
> Yes, I have been using Qt for ages. But
> after two days of
> using it, I was proficient with it,
> that's for me the most
> important. I did not need few month to
> get used to how
> things are done, it felt just natural.
> The toolkit really well
> designed and complete, with copious
> I know other people who had exactly this
> same experience. I
> even have a mail of somebody who put
> complete beginners
> both in programming and C++ in front of
> Qt, and had them
> being proficient after one month. That's
This is a typical example of Visual Basic syndrome ;-) Usually, couple day is enough to get proficient with it. But it does not mean that you will be ready to create a good performing GUI application in those two days. To create professionally looking UI without any performance problems - any toolkit will take you several months to adapt to its features. By performance problems I mean loading big chunks of data (typical for enterprise wide applications) into controls/widgets without slowing down UI or easting up all memory.
What I mesan by all this is that there is always a difference between just using the toolkit and using it effectively.
> % Plus there's always Java ;-))).
> Java has its own set of issues
I've read this article before - again it's author not using Swing/JFC (judging from it's examples) effectively. For example it's tree creation example in Java could be rewritten in much shorter and understandable way. Also JFC/Swing is designed with "handling (large) data effectively" in mind - therefore it has UI and data separation (i.e. each widget accessing data not directly but through data model interface defined for that class of widgets). For instance table/grid widget access the date it's displaying via class implementing table model interface that provides grid-like data access. The underlined data can be cached, paged (if large) or loaded completely without widget ever knowing the difference or setting any flags. The same data could be shared between several models being a source for displaying in several controls (although people are always forgetting this - hence data inefficiency and memory hungry applications).
When I was starting to work with Java seven years ago - I also had my doubts (about suitability for UI). But all changed after similar discussion with one guy from Borland's JBuilder (which is an excellent example of how to code UI effectively) development team. He simply showed me how fast Java UI could be when used effectively and with consideration.
I still don't think that java is not good enough for designing small and fast applications (embedded apps go to this category).
> but it is certainly an interesting
> choice too, if you are ready to
> program in java. I think the most
> problematic things today is
> about the jvm and the version of java
> you are using may not
> be the same as your target, so you have
> to spend time
> adjusting things (I heard some java
> developers saying that
> they were "porting" their app to another
> jvm) but I may not
> be uptodate with such problems.
Certain incompatibility exists - between major release versions (in Java they are always the second number like from 1.1 to 1.2 etc) but then I doubt that the Qt 2.0 and 3.0 are completely compatible. Plus statement about jdk version is not true - latest java versions available on all the same platforms as Qt (with exception of embedded devices).
> Based on Qt does not mean you get all
> the power of Qt. Does
> Kylix run on MacOsX and Zaurus ?
Only MacOS X is yet unsupported - all linux variants mostly are simply because Borland supplies sources of VCL with commercial versions of its products. But if the ultimate cross-platform compatibility is the goal then my choice may be different (wxWindows?).
> For example, I was told that in VCL, you
> can not connect
> multiple signals to a slot (you have to
> translate to the
> equivalent of signal and slots), which I
> find fairly limiting.
VCL operates in different terminology using events and event handlers. But nothing prevents you from having single event handler for several events simultaneously (is that's what you mean).
Finally, it's strange for me to have this discussion withyou having deep knowledge of Qt and having tried other toolkits only briefly or just having heard of them from other "experienced" people. I prefer to establish my own opinion on usability of that or another library/toolkit by trying to use it and not just briefly. Hence I found this article really useful as, for instance, I have never heard of FLTK before and I'm willing to give it a try.
This is my last post to this matter.
PS: to all Qt maximalists - there was a nice article about it by Al Stevens (C++ column writer) in Dr.Dobbs somewhere in 2001-2002. He actually pinpointed Qt weaknesses (some of them mentioned but argued here). So you might want to take a look at that.
Re: Qt pricing
> If you compare it with other solutions
> available on windows in
> C++, you won't find much. Kylix,
> WxWindow and that's it.
Nop - there are more choices than that - world does not end with Qt and wxWindows being the only choices. In fact this article gives several other choces for cross-platform development. All your talking that everything is much easily done in Qt than let say in wxWindows (or in FLTK for that matter) is just a matter of experience with that or another library. I bet you are using Qt for ages - hence you get used to its way of doing things so the other libraries are not as comfortable to you as Qt is. But then - you are being subjective to the other libraries. People using wxWindows for ages will object and say that it's the easiest thing to use (once you are familiar with it).
Plus there's always Java ;-))). Talking about java client being slow etc - look at SWT graphics in Eclipse. Still even client application using Swing/JFC could look professional and be fast. In case of Swing/JFC, it's not the library that makes it slow - it's how the developer uses it.
> has no runtime distribution fee, I don't
> know about Kylix but
> most other development software on
> windows usually have
> one which in the long term is largely
> equivalent to a Qt license.
Well that's a surprise - can you give me an example of "most other development software on windows" that asks you about additional fee for runtime redistribution? Neither Microsoft's Visual Studio product line nor Borland's products for any platform requires you to pay additional fees for runtime redistribution (this is included in the product price already - otherwise what are you paying for?). You can of course pay extra for the extended support but this is also the case in Qt.
> I think that kylix is indeed a valid
> alternative. I don't know
> how sophisticated it is. What I have
> heard is that it is really
> easy to use but slightly less powerful
> than Qt in some areas,
> and more in others.
This is nonsense - Kylix implementation of VCL (Borland's libraries of controls/widgets) is implemented on top of Qt (don't know which version though).