006
29.05.2007, 13:16 Uhr
0xdeadbeef
Gott (Operator)
|
Qt ist keine C++-Bibliothek. Sie ist in einem C++-Dialekt geschrieben, der einige (völlig unnötige und syntaktisch inkonsistente) Spracherweiterungen einführt, zum Beispiel die slots-labels.
Der "veraltet"-Teil dürfte sich allerdings eher auf die Verwendung von Präprozessor-Makros, die diese Spracherweiterungen stützen, sowie die fehlende Verwendung von namespaces und die Reimplementierung großer Teile der Standardbibliothek. Qt ist älter als C++, und ist den Prästandard-Ballast aus Kompatibilitätsgründen nie losgeworden - ähnlich wie die Microsoft-Bibliotheken oder wxWidgets.
Gtkmm dagegen hat eine Reihe von Vorteilen dadurch, dass es jünger ist, einen modulareren Aufbau implementiert - sich zum Beispiel auf andere Bibliotheken wie glibmm und libsigc++ stützt, und seinerseits wieder eine Basis für glademm bietet - und vor allem dadurch, dass die Entwickler sich getraut haben, mit der Version 2.0 Rückwärtskompatibilität in den Wind zu schießen und das ganze nochmal neu (richtig) zu schreiben, mit der gesammelten Erfahrung.
Qt hat einen etwas anderen use case, als semikommerzielles Produkt. Die Kunden, die kommerzielle Lizenzen kaufen, wollen halt sichtbare Veränderungen, und dass sie ihren alten Code nicht umschreiben müssen. Dementsprechend konzentriert sich Trolltech mehr darauf, Qt hübsch aussehen zu lassen (und kriegen das ja auch gut hin), als die Bibliotheksstruktur aufzuräumen. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |