Search code examples
delphiqt

Qt or Delphi... If you were to choose one over the other?


If you had a differential of either venturing into Delphi land or Qt land which would you choose? I know they are not totally comparable. I for one have Windows development experience with Builder C++ (almost Delphi) and MFC (almost Qt), with a bit more time working with Builder C++. Please take out the cross platform ability of Qt in your analysis.

I'm hoping for replies of people who have worked with both and how he or she would compare the framework, environment, etc.?

Thank you in advance for your replies.


Solution

  • Edit: This answer was written in 2008. It probably is no longer so apt, though probably it is not entirely useless. Take with salt.

    I have used both and have ended up going the Qt route. These are the reasons:

    • Trolltech offer quick and one-to-one support via email
    • Qt innovates, and introduces powerful new features regularly
    • The Qt documentation is amazing, and in the rare cases where it isn't, you can read the source code
    • Having the source code for Qt also allows you to debug inside your base libraries, which has been a life saver for me on many an occasion
    • The API is very consistent and well designed. We have put new people on the project and within a month they show deep knowledge of the toolkit and can learn new classes very quickly
    • It has bindings to other languages, eg. Ruby and Python.

    C++ is somewhat of a downside, eg. compile times, packaging, and a less integrated IDE. However Qt does make C++ feel more like a higher level language. QStrings take all the pain out of string handling for example. Thus the additional issues with C++ that you would normally face, eg. more buggy code, are less prevalent in my experience when using Qt.

    Also, there are more libraries for Delphi than for Qt, but this is mitigated due to the fact you can just use a c or c++ library in a Qt project, and also because Qt is so fully featured you often don't have to look any further.

    It would be a strange situation where I would choose Delphi over Qt for a new project.