Trolltech announced the release of Qt Script for Applications (QSA), a scripting language designed specifically for applications made using Qt, its multiplatform C++ application framework. Also, read OSNews’ recent tutorial on how to setup the native and free version of Qt under the Macintosh platform.
Trolltech Offers Qt Script for Applications (QSA)
2003-07-02 Qt 41 Comments
Now KDE can leverage another feature that it has needed for a long time, scripting! YA!
Last time I checked GTK doesnt have this type of functionality. Come on GNOME you are alot better than KDE in philosophy and usability now beat KDE at technology too!
In Gnome’s defense, Qt is also a commercial entity, thus KDE gains from that resource as well. Gnome really is driven by a community of developers, and I don’t think many of them code Gnome full time, yes no?
On the other hand it shows that Open Source can work better if it learns to embrace commercial technologies.
Everything can’t be as pure a Debian .
Actually, several commercial entities have embraced Gnome…Sun, Ximian, Red Hat, HP
There are probably several more commercial developers working on Gnome full time than KDE, however KDE got a big head start, more market saturation, and thus more part-time developers.
At least that’s how I understand the situation…no hard facts to back any of this up of course as I don’t follow their development much. (Although I am a happy KDE 3.1 user, thanks to Mandrake)
Actually, I started something very similar called KJSEmbed before QSA was born. The development version offers much the same facilities (better in some places, worse in others). You can find some docs for it here:
http://xmelegance.org/kjsembed/ you see a screenshot for a simple app here: http://xmelegance.org/devel/kjsembed2.png
But commercials embracing GNOME is a backwards relationship to KDE embracing commercial technologies. In KDE’s it gets all the advantages that QT puts into their toolkit without any dedicated KDE work. In GNOME’s case the people who have embraced GNOME don’t help it in any major way besides porting and some quick hacks, most major toolkit development and new features are started by volunteers and polished and hacked by professionals…
I wish wxWindows had built-in scripting like this.
Now we can look forward to Outlook-style viruses!
I take back what I had said about KDE having an advantage because of the Qt backend with commercial support. Look at it this way: GTK does for Gnome what Qt does for KDE. GTK and Qt are just widget libraries (and some non UI code in addition). It’s up to the Gnome and KDE developers to turn it into a functional desktop environment. So the credit really goes to the respective Gnome/KDE developers and not so much Qt or GTK. Whether Gnome or KDE is better, that’s up to users’ personal tastes. And commercial contributors like Red Hat for example, modify those desktops more so for their own personal benefit and if some improvement was made and given back to the community that’s great, they’re still in it for themselves though.
Its not only that. The commercial support Gnome has been getting is because of what gnome is and has become (well except Ximian) not the other way around.
“In Gnome’s defense, Qt is also a commercial entity”
I have a feeling that Trolltech isn;t selling too many commecial copies of Qt though. Not at the prices they want for it. The only commercial application I can think of that uses Qt is the Opera web browser.
And before you rush to Gnome’s defense, remember that they have Sun, IBM, and HP backing them.
Well on their website they mention quite a few applications based on QT, also they have QT-embedded that’s growing pretty fast and is getting used more and more. And the next version of Adobe’s Photoshop is likely to be based on QT.
“And the next version of Adobe’s Photoshop is likely to be based on QT.”
Great… That means Adobe is going to pay $2,000 per developer for QT licenses… And then the price of Photoshop will be even more outragious.
*isn’t going to be surprised at all when PhotoShop hits $1,000*
I don’t think all of PS will be based on Qt.. only parts.
PS used to cost as much as $1,000 in the mid 90’s, btw.
> I have a feeling that Trolltech isn;t selling too many commecial copies of Qt though. Not at the prices they want for it. The only commercial application I can think of that uses Qt is the Opera web browser.
The prices for the commercial copy of Qt seem to be quite reasonable if you compare it to other commercial developer software (with the exception of Microsoft, of course).. compare it to products from Rational Software, for example.
Btw, most of the people who buy Qt aren’t gonna plaster “MADE WITH QT” all over their apps. Most of the apps are niche-market apps that you’ll probably never hear of unless you work in that particular field. A lot of software for X11 that’s made with Qt is former Motif apps (you probably didn’t think there is much of that left, eh? there is TONS of closed Motif apps.. probably more than any free software Qt/GTK apps around, in fact..).. You probably won’t ever know if the Windows app that you are using everyday is using Qt either without using a disassembler. I myself was quite suprised when I saw that one of the data instrumentation softwares I was using daily on Windows was using Qt.
$2000 per developer for Qt licenses is nothing. Visual Studio .NET Enterprise edition is close to $2000. Rational Rose is $2400. ClearCase runs at least $1500 per license (and that’s for 50-100 licenses). If the Qt license will save developers even two weeks of development time over the life of the project, Adobe breaks even. Compared to rolling their own, $2000 for Qt licenses seems very attractive, and is a drop in the bucket in the overall development cost of Photoshop.
Oh, and one more thing: It’s not like you have to be a big company like Adobe to justify the Qt license either. Just the cost of Visual Studio Pro (can’t ship commercial products with the academic version) plus the cost of a Perforce license runs you close to the $2000 mark.
“Btw, most of the people who buy Qt aren’t gonna plaster “MADE WITH QT” all over their apps.”
It doesn’t have to. Like most toolkits, Qt widgets have a distinctive appearance. So you can tell just by looking at the app that it was made with Qt.
It’s just like GTK. You can instantly tell that an app was made with the GTK toolkit just by looking at the widget styles.
As far as Motif apps, of course there is a ton of it left. And there is still software being developed for Motif. After all, CDE used the Motif toolkit.
“The prices for the commercial copy of Qt seem to be quite reasonable if you compare it to other commercial developer software (with the exception of Microsoft, of course)..”
I disagree. Because remember that you aren’t getting a compiler with this. All you are getting is a toolkit. So if you want to develop Windows apps with Qt, you get to buy Qt, AND Visual C++.
“Visual Studio .NET Enterprise edition is close to $2000.”
You are also getting a compiler with Visual Studio .NET. Several in fact. You get C++, C#, and VB. With Qt, all you are getting is a toolkit. So you have to buy the compiler seperately.
But a toolkit is a very substantial item. If you want a compiler, you can always just download GCC (which easily as good as visual C++’s compiler). But a toolkit is really the whole framework upon which you build your application. Remember, Qt includes a whole lot more than GUI widgets. My overall point was that development tools are a very small part of the overall cost of a piece of software. Project managers are always warned not to skimp on development tools. $2000 is less than half a month’s salary for a programmer. Choosing a substandard development tool will cost you a lot more than that in developer time.
I’m not sure just how powerful this scripting language is – I imagine it compares favourably with the windows scripting host.
does python count as a scripting language? i’m sure many people think so: python is already capable of interfacing with gtk/gnome and it appears bonobo bindings for python are starting to appear.
Don’t forget the PyQt bindings
Then what do Redhat do? they can easily contribute alot more than they do now. Maybe they looked at the situation and decided what scripting wasn’t the highest priority.
Just because something isn’t commercially driven per-say, it doesn’t mean that companies like Redhat, SuSE or Mandrake can’t contribute to its development.
HP has dropped supporting GNOME, SUN’s GNOME is ancient and Ximian GNOME’s installer is as buggy as hell.
I’ve tried SUN’s GNOME and to be completely honest, it is crap. No anti-aliased fonts, poor speed, still using the crappy java based mixer, crappy media player which its claim to fame is support AVI, WOW! considering most have already moved to MPEG. As for HP, well, I am not suprised, it is after all a Microsoft sycophant. As for Ximian, lets hope they fix up those issues.
On the Adobe and QT topic, anyone notice the change in Adobe Acrobat Reader look ‘n feel? it actually looks more like a qt applications. Can anyone confirm whether this is the case?
Also, if you take into account that by using qt, there is always the option of making it available on other platforms, the flexibility is there for the long term.
Just look at the number of companies who are now so reliant on the win32 api that if there is a change in the wind direction and the desktop operating system of choice changes, they’ve basically screwed themselves into a corner.
Same thing goes for the directx-fan-boys. Sure, it sounds great on paper but what happens when you want to port your game or application to another platform?
Same thing goes for the directx-fan-boys. Sure, it sounds great on paper but what happens when you want to port your game or application to another platform?
LOL. Funny you should mention that. I got screwed over from DX7 going into DX8. Had to throw my books away and stuff I learned. Yes, the runtime is still backwards compatible with apps built using older implementations of DX but if I want to use the new features, gotta ditch the old code.
I don’t see what QSA can do and PyQT can’t. Python is a simple scripting language, and allows you to virtually use the entire QT library.
Well, its good to hear from a code who has used DirectX extensively. So, you’re screwed to Windows if your use it and you’re screwed if you want to use the features of the next release and don’t want to upgrade all of your code at once.
Thank goodness we have OpenGL. Once OpenGL has been ratified and all ‘n sundry start using it, I hope companies get the message that they have two choices, either get locked into Windows or have freedome of “movement” in regards to what platform they should target.
If you want a compiler, you can always just download GCC (which easily as good as visual C++’s compiler).
LOL…thanks that was a good laugh.
Have you ever used both MingW and MSVC?
MSVC is a much better compiler, regarding what it outputs. As far as standards comformance, well I’d have to say that GCC edges it out slightly.
Note, this is not meant to disparage MingW, it’s a good compiler for what it is, but quite frankly, you get what you pay for.
It’s been proven (I remmeber a certain article in Doctor Dobbs Journal for those demanding proof) that MSVC outputs significantly smaller and faster executables than MingW.
And as far as developing commercial apps goes, I’d be more inclined to pay for a compiler and use a free toolkit…
wxWindows comes to mind.
However, as someone previously pointed out, these license fees are really nothing when you look at the amount of developer hours these tools save.
Personally, I’d buy both the compiler and the toolkit.
> It doesn’t have to. Like most toolkits, Qt widgets have a distinctive appearance. So you can tell just by looking at the app that it was made with Qt.
Uhm, I was talking about Windows, not X11. Obviously you’ve never tried Qt on Windows, because they blend in so much that you don’t know whether an app is using win32, qt, MFC, or wxWindows.
>> It doesn’t have to. Like most toolkits, Qt widgets have a distinctive appearance. So you can tell just by looking at the app that it was made with Qt.
> Uhm, I was talking about Windows, not X11.
On X11 you can switch betwen different styles:
open QtDesigner > Preview > …
So, what is the typical Qt-X11-Style?
Gnome is quite skinable too – Gtk(+) seems to have lost its “typical” look, too.
“But a toolkit is a very substantial item. If you want a compiler, you can always just download GCC (which easily as good as visual C++’s compiler).”
No. Not at all. The same code compiled in Visual C++ will run circles around around the same code compiled in GCC for Windows. Not only that, but GCC for Windows is a console compiler.
>However, as someone previously pointed out, these license
>fees are really nothing when you look at the amount of
>developer hours these tools save.
Yeah, in the institute where I did my diploma, they use MSVC++ and MSVisualSourceSafe. That combination has been giving us some headache and hours of config-file-hacking!
The combination MSVC and MSVSS is definitely not very user friendly compared to what you pay.
>MSVC is a much better compiler, regarding what it outputs.
For me (1.5 year C++) mashinecode is completely unimportant. It just has to work
IMHO C++ should not be considered as a sort of assembler-script.
On the other hand cl.exe sometimes has parsing-problems with correct C++ constructs.
The STL delivered with MSVC++ seems to be outdated.
MFC has no layout-manager … you have to use some hack from codeguru.
MSVC++ is not usable for cross-platfrom-developement, is it?
“Uhm, I was talking about Windows, not X11. Obviously you’ve never tried Qt on Windows, because they blend in so much that you don’t know whether an app is using win32, qt, MFC, or wxWindows.”
Yes, I have. And yes, I can tell the difference. Qt buttons are slightly different than MFC widgets.
is not a very efficient compiler. The fact that it is so cross platform tends to mean it doesn’t optimize all that well for any of them.
Example: VC++ will run circles around GCC in Windows. And SGI’s compiler will run circles around GCC in UNIX.
Not only that, but GCC for Windows is a console compiler.
What’s that supposed to mean?
I can think of two meanings for that…
1.) It must be invoked by the console…which is simply untrue…there are several IDEs built around the Windows versions of GCC.
2.) It can only produce console applications…which is also incorrect. The full Win32 API is available under GCC, thus you can create graphical apps with it.
It does not support MFC, but it does support wxWindows, which is a very similar toolkit, and is reputed to be easy to migrate projects to from MFC. Some would argue it’s even slightly better than MFC, and it offers excellent cross-platform functionality.
“It does not support MFC, but it does support wxWindows, which is a very similar toolkit, and is reputed to be easy to migrate projects to from MFC. Some would argue it’s even slightly better than MFC, and it offers excellent cross-platform functionality.”
wxWindows is ok for basic stuff. But it lacks many features. Example, it doesn’t support an alpha channel. That can be a major problem if you are doing graphics programming.
I was thinking of DGJPP. I forgot about mingw32. That’s what I was talking about when I said it was a console compiler.
I’ve used both Visual C++ 6.x and GCC 3.x. Visual C++ 6.x isn’t even a real C++ compiler. It supports a language that prediates ISO C++ as defined by the 1998 standard. Visual C++ 7.1 is a lot better, but its code generation isn’t measureably better than GCC’s. The stuff about GCC not optimizing properly because it is cross platform is a myth. GCC isn’t great on non-x86 architectures, because that is its primary target, but on x86, its very good. Based on the benchmarks published by on http://www.coyotegulch.com, as well as on my experience of using it for years, GCC is very competitive (in terms of performance) with Intel C++ on integer code on all x86 CPUs, and in floating point code on all CPUs except the Pentium 4. Interestingly, though, Visual C++ is famous for having very compact code. This was true back when the big rivalry was Watcom vs Visual C++, and its probably still true today. Also, there are several good IDEs for GCC. Eclipse comes to mind as the best one. Hell, GCC will even plug into the Visual Studio IDE
“and in floating point code on all CPUs except the Pentium 4.”
Considering the majority of CPUs out there are Pentium 4’s ,that’s a bit of a problem I think. Intel’s compiler does a far better job on the P4.
We won’t even talk about GCC’s performance on IA64.