When I headhunted Eirik Chambe-Eng to sit on my board in GaiaWare, he told me a thing that has stuck with me ever since; “We (Trolltech) had success because we ported one of Microsoft’s MFC apps to Qt, and demonstrated how much more work had to be done in order to create the equivalent in MFC compared to when using Qt”.
I am therefor going to take Eirik’s advice, and do the same comparison between Qt and Phosphorus Five. Hence, I have ported Qt’s Address Book app to Phosphorus Five, and I did it live, in 36 seconds, in a YouTube video, which you can see below. You can find the code for Qt’s address book here. I am going to compare these two very different end results, on some neutral metrics, such that you can see for yourself, and make up your own mind about the differences. Let’s start with the Qt example first though. Qt’s address book app contains the following traits.
- 5 C++ classes, MainWindow, AddressWidget, TableModel, NewAddressTab and AddDialog
- You’ll need to create 418 lines of code to reproduce their example (not counting comments and spacing)
- It doesn’t work on the web, and hence is probably impossible to run on an iPhone, Android, iPad, etc – However, it probably creates portable code, if you’re willing to run its code through a bunch of different compilers, which is probably highly time consuming for the record
- Graphics are probably in “the eyes of the beholder”, but I still think we can all agree upon that Qt’s Address Book example (*coff, coff*) … zuckz … check out the image at the top of this article, and tell me you disagree with my “objective analysis” here …
- The code has to be created in C++, which basically makes it “Greek” for 99.9% of the population in this world.
I’d love to show you a graph of how these two different solutions would look like in regards to KLOC Eirik, but unfortunately that would result in a “division by zero”, and hence is mathematically impossible … 😉
If you want to try my little Address Book app, feel free to do that here.
Epilogue; Some might claim that my comparison is not valid, since I am using a code generator in my video. I disagree with that argument, because software development is the “art of solving problems with computers”. I definitely solved the same problem as Qt’s address book example. The Phosphorus Five solution also happens to solve the problem much better, with web support, and being far more portable, and able to run your “app” on any device you wish. In addition the P5 solution has orders of magnitudes more availability, and arguably creates a better design and more “beautiful” end result.
The belief that one must “code” in order to create software is a false assumption, having no place in the 21st Century. In fact, if you were using tools such as Camphora Five, you’d free up your time for more important tasks. This is true whether or not you’re a developer, a mere mortal, or John Doe. And the belief in the “not invented here” syndrom, making system developers spend an awful lot of time, doing things they shouldn’t do, is only going to hurt you (the developer) in the end. If you want my advice about this, here it comes …
Ditch the attitude, embrace the (r)evolution, and stay relevant the 21st Century
Because the alternative is the go extinct …