c'est plus de la comparaison GTK vs Qt, c'est de la comparaison C vs C++.
Je vais faire mon Zenitram : c'est vraiment de le pure mauvaise foi pour ne pas reconnaître une très grosse faiblesse de Gtk: c'est fait en C et ça pue pour l'héritage et plus généralement les fonctionnalités Objet.
On parle bien de comparer Gtk avec son implémentation de référence et Qt avec son implémentation de référence. Et pas d'un binding Gtk quelconque avec Qt, ou d'un binding Qt quelconque avec Gtk.
Et de fait, Gtk utilise une sur-couche par dessus le C pour faire de l'objet, et bien que ce soit fait intelligemment, ça reste très moche et limité. Il faut écrire un km de code pour faire de l'héritage, et on en a besoin de l'héritage si on fait une application évoluée.
Pour faire un reproche équivalent à Qt (et me dédouaner de toute accusation de partialité), on peut reprocher à Qt le fait de n'être pas du C++ mais du C++ avec une surcouche gérée par l'outil Moc.
Je ne te répondrai pas que le reproche est débile, et qu'il faudrait comparer boost.signal avec Qt pour être honnête (comme tu viens de le faire). Ou bien que tu n'as qu'à faire du PyQt où le moc n'est pas utilisé.
C'est vrai que Moc est indispensable pour faire du Qt, mais ça permet de pallier avec élégance (et une petite complexité à la compilation) à un manque de fond du C++.
[^] # Re: Qt vs Gtk
Posté par Philippe F (site web personnel) . En réponse au journal LXDE, Razor-qt et Qt (et GTK+). Évalué à 7.
Je vais faire mon Zenitram : c'est vraiment de le pure mauvaise foi pour ne pas reconnaître une très grosse faiblesse de Gtk: c'est fait en C et ça pue pour l'héritage et plus généralement les fonctionnalités Objet.
On parle bien de comparer Gtk avec son implémentation de référence et Qt avec son implémentation de référence. Et pas d'un binding Gtk quelconque avec Qt, ou d'un binding Qt quelconque avec Gtk.
Et de fait, Gtk utilise une sur-couche par dessus le C pour faire de l'objet, et bien que ce soit fait intelligemment, ça reste très moche et limité. Il faut écrire un km de code pour faire de l'héritage, et on en a besoin de l'héritage si on fait une application évoluée.
Pour faire un reproche équivalent à Qt (et me dédouaner de toute accusation de partialité), on peut reprocher à Qt le fait de n'être pas du C++ mais du C++ avec une surcouche gérée par l'outil Moc.
Je ne te répondrai pas que le reproche est débile, et qu'il faudrait comparer boost.signal avec Qt pour être honnête (comme tu viens de le faire). Ou bien que tu n'as qu'à faire du PyQt où le moc n'est pas utilisé.
C'est vrai que Moc est indispensable pour faire du Qt, mais ça permet de pallier avec élégance (et une petite complexité à la compilation) à un manque de fond du C++.