On Thu, 13 Oct 2005 22:19:53 +0100, Richard Hughes wrote:
...and if you think the UI is clunky, then the development experience is even clunkier.
Well, I'm not an Inkscape developer but I'm going to stick up for GTK+ here. Having worked in a variety of desktop development environments including C Win32, Delphi Win32, Visual C++ Win32, GTK+ on Linux, and Swing in Java GTK+ is easily the best. I haven't done much with Qt so can't really compare but I know the basics.
As a quick review, things GTK+ gives you other toolkits don't (easily):
* Stock artwork
* Pretty clean OO API - why in Qt does VBox inherit from HBox (I think this is fixed in Qt4 though). Compare to Win32 which isn't OO at all, making even the best wrappers like the VCL nasty hacks - you can't properly derive widgets for instance. In contrast many other APIs I tried were definitely inferior - tending to be either language locked (Qt), extremely unintuitive (Win32), over-engineered (Swing) or all three.
* Portable. Yes the Win32 port is not as good as it could be, but it does have the advantage of existing, using native theming, and being little effort to make existing code run on it. Also the Win32 port is being constantly improved.
* Widgets designed with usability in mind - the new file picker is/was controversial but would you prefer the Qt/Swing approach of mindlessly cloning the Windows file picker, warts and all?
* Accessibility from nearly any language. Nice for plugins.
Put simply, GTK+ may suck in many ways, but everything else I tried sucked more.
I won't comment on the MS toolchain. I know the C++ compiler had issues for a long time with standards compliance but I never used VC++ on large or complex projects so can't comment here. It probably is better than GCC in many ways, but then it's got different goals.
thanks -mike