It Was Twenty Years Ago Today...

Jeff Tranter


Jeff Tranter is a Qt Consulting Manager at ICS. Jeff oversees the architectural and high-level design of software systems for clients. Jeff’s leadership organizes global teams of developers on desktop and embedded applications.

By Jeff Tranter | Wednesday, May 20, 2015

According to the book C++ GUI Programming with Qt 4 (1), the first public version of Qt was uploaded to the ftp site sunsite.unc.edu on May 20, 1995. This was the first public release of Qt and was identified as version 0.90. It was announced six days later on the comp.os.linux.announce Usenet newsgroup.

That was 20 years ago today. In honor of that anniversary, I downloaded the oldest Qt source code I could find at download.qt.io, version 1.41 (2). I remember using Qt of this vintage, around 1999. At that time I was working at Corel Corporation on Corel Desktop Linux which was based on KDE and used Qt 1.44.

I was able to build Qt 1.41 on a current Ubuntu Linux system with only a few trivial changes (3). There are some method names like xor that conflict with C++ operator names (a feature of C++ that did not exist back then). The gcc compiler has a -fno-operator-names compiler option that solves that. I also had to add one friend declaration to a source file (I suppose that C++ compilers at the time were not as strict as they are now).

After having made those changes, Qt successfully compiled and several of the examples and demos that I tried ran fine. The look and feel was not quite as good as today, the most obvious issue was the quality of the font rendering and the default Motif style. Some screen shots are below.

The most striking thing was how small Qt was. On my quad core laptop, it took less than one minute to compile all of Qt 1.41 including the examples and tutorials. Qt 5 typically takes at least an hour or two to build.

Here are some statistics comparing Qt 1.41 with the most recent Qt 5.4.1 release:

Qt Version 1.41 5.4.1
Source Archive Size 2.6 MB 478 MB
Number of Files 1,866 133,316
Lines of C++ code 169,249 11,860,325
Header files 192 4,797
Shared libraries  1 45

In Qt 5 there is a lot of third party code like WebKit, so it's not an entirely fair comparison, but the general trend is certainly clear: Qt has grown enormously in both size and features.

It was interesting to see how far Qt has come in 20 years, and that a version from about 15 years ago still builds and runs on a current system. I don't want to hazard a guess about where Qt or even the computer industry will be in another 20 years, but I am confident that Qt will still be going strong in five years when it reaches its silver anniversary.

References

  1. C++ GUI Programming with Qt 4 (2nd Edition), published book, by Jasmin Blanchette and Mark Summerfield, http://www.amazon.com/Programming-Edition-Prentice-Software-Development/dp/0132354160
  2. Qt 1.41 source code download, accessed 15 May 2015, http://download.qt.io/archive/qt/1/qt-1.41.tar.gz
  3. Patch for building Qt 1.41 on Linux, ftp://ftp.ics.com/pub/pickup/qt1.41.patch


Have a question or add to the conversation: Log in Register