New Features of Qt 4
The talk about New Features of Qt 4
was delivered by a Trolltech
employee, Jasmin Blanchette
. A few interesting points:
- In Trolltech they pronounce it "cute" internally
- Trolltech has 60 employees, not a big company, but way too many people to work on a toolkit. I mean, we definitely don't have 20 people working full-time on Glib, Pango, and Gtk+ put together, which is a good approximation of what Qt does. Just if we had...
- They have around 4000 customers. 25% of them use Qt only on Windows
Seems like most of the changes they have done in Qt 4 is cleaning up and rearchitecturing Qt 3. They have also divided it into 6 or 7 smaller libraries, one of them being qt-core, which is doing what glib does. They coined a name for theire rendering subsystem, like Microsoft did ;-). They support line justification with special handling for Arabic. We really need to do this in Pango soon. They've done a few interesting optimizations too, for example in number of malloc() calls. They also noted that when allocating on multiples of page-size, a realloc does not copy all pages, just tweaks the page-tables. So now, when realloc()ing, they add one page at a time, don't double the chunk size.
After the slides where done, he switched to show us a few examples. We all witnessed that he's using a very very simple stone-age Xv desktop, not KDE, with no panel at all! He asked us not to tell his boss about these! I couldn't help but bringing out the camera and taking a photo; which I did :D. He just got what happened after everybody started to laugh. The photo unfortunately didn't turned out great because of the flash, but you can still see that it apparently is not KDE running. I edited with The GIMP the color levels of the screen:
Later Jasmin found me and showed me how he's written this accident in his report, and how he's managed to make KDE running. I promised to show up and take another photo during his presentation in OLS, and I did, this time with no flash. Turned out blurry, but here it is:
All in all, Qt 4 looks even nicer than Qt 3. Just if it wasn't in C++... And oh, another interesting point, they support three different APIs for iterators, one Java style, one old Qt 3 style, and one like the kernel way, defining the macro
or something like that. They don't care about the name-space ;-). A beta is already out, good idea is to test it. Final version is scheduled for first half of 2005.