News Flash 2012-08-09 Nokia sells Qt to Digia. Perhaps the best solution to Elop's folly.
Not that Qt will die - Digia claims there are almost half a million Qt developers out there. The platform is used for some high-profile applications including the VLC's Videolan Media Player, Google Earth and Mathematica. Digia is promising support for Android and iOS as well as continued support for embedded platforms including QNX (the foundation for the latest RIM OS) and VxWorks (which is doing such sterling work on Mars at the moment).
Qt Framework Update
You can see a few screen shots of what I've done with the Qt Framework here.
First, The Positive Things
In general, the Qt Framework has met my expectations for a more modern programming environment. It has enabled the following major improvements among many others:
- Generic object lists can now contain static objects instead of pointers (Borland's TList only allowed void pointers), making processing of the lists easier and reducing dynamic memory allocation errors. Compile time type checking of list objects makes for more robust programming.
- The Graphics View presentation system has allowed the creation of very complex and interactive images to be shown to the user of my programs and they are very quick to update. It is easy to use QTimer to drive movement of the objects in real-time step with actual world process events. It is very easy to get frame update rates of 30 frames per second to give very smooth views of moving objects. Objects in the views can easily respond to touch screen operations to provide more detailed information to the user.
- The QtConcurrent module has made it easy to make use of multiple processors and gain speed improvements of 8x when training neural networks.
- Using the MS VS 2010 compiler, I can now move to 64-bit programming. This is necessary in some heavy applications to avoid problems with using up the 2 GB heap limit of Win32.
- I no longer feel confined by vendor lock-in. If we have a project that requires many embedded computers, I can use Linux and produce a more robust and inexpensive system. While I don't currently use Linux for any of our applications, all the main system drivers we require now support it so I could easily move there if I need to.
- Easy access to many different database systems without extra added costs. SQLite is great for storing program settings and is used all over the web and by many major applications. SQLite is very robust compared to the Borland tools I was using, which contained bugs that could easily corrupt data beyond repair.
- Qt Creator will compile projects 8x faster than the VS 2010 IDE on my new i7 development system. It sure is fun to hear the CPU fan start to roar when I start a build. This really makes a difference when I build the GS2000 project. On my older 4 core development system it takes about 30 minutes to build the GS2000 project for a new release. The new i7 system should cut that in half.
I'm very pleased with where Qt is going, and it seems to be getting better all the time.
Second, Some Concerns
I made the decision to start using Qt when Trolltech owned it. A few years into the conversion, Nokia took over Qt. This caused some initial concerns, but Nokia soon passed the commercial version of Qt off to another company, Digia. I use the commercial license, except for some simple examples that I make public, so this is less of a concern for me.
From my experience, Nokia has been good to Qt:
- They made it easier to use with the LGPL license.
- They enhanced the quality control of releases, which was somewhat lacking under Trolltech. I would, however, recommend still waiting until version X.X.1 is released rather than using version X.X.0 on critical projects. I've had to revert to an earlier version a few times in the past when a new one didn't work out.
- They seem to support open source quite well by opening up the development process.
- They developed the Qt Creator IDE, a much less bloated workspace than the industry standard IDE.
But then, some things are not so good:
- They have burned the mobile platforms, Symbian and MeeGo, pushed many of the software engineers over the side to fall into the icy waters below, and generally made all of us wonder: what's going to happen next?
Well, given that I've got work to do, and Qt helps me get it done, I'm not too worried yet. I can't help but think that Digia is having a hard time explaining to potential new customers why they should buy a Qt license. It appears that a big corporation has turned evil again, and this may have something to do with all this, but what do I know? Go read some Tomi Ahonen blog posts if you want to live on the wild side. He has been almost dead on with his Nokia sales analysis so far.
Is Windows 8 Mobile the new savior? We live in interesting times.