Envoyé par
gbdivers
La question est alors : peut-on considérer C++/Qt comme un langage de 4eme génération ?
Pareil, je ne pense pas. Qt peut être utiliser avec d'autres langages.
On parle bien ici du couple C++/Qt, en faisant totale abstraction de tous les autres bindings existants. À ce titre, on peut dire que majoritairement oui :
- C++ fait de l'impératif objet ;
- Qt fournit des GUI, que l'on peut déclarer avec QML, avec un éditeur graphique pour QML ;
- Pas de rapports de base à ma connaissance, mais on peut sans problème créer les classes nécessaires et les imprimer (mais est-ce le but original ? pas du tout !) ;
- Les évènements : on pourrait considérer les signaux-slots comme un équivalent, donc oui.
Par contre, le langage déclaratif de manipulation de données, je ne vois pas trop ce qu'on veut dire par là.
Envoyé par
gbdivers
J'irai même plus loin : ce n'est pas forcement intéressant pour un framework de devenir un langage. Beaucoup de "gros" framework peuvent être utilisés par plusieurs langage, ce qui facilite son utilisation.
C'est pour ça qu'on a Vala pour la GLib, et, par extension, GTK. Il s'agit d'un langage un peu bizarre, je dirais : c'est une sorte de surcouche du C, qui permet de faire de l'objet sans devoir aller chercher loin dans le langage. Ça permet d'avoir un langage propre, le Vala, et de garder exactement la même API, sans devoir se priver des bindings. Qu'est-ce qui empêcherait PyQt de continuer à binder Qt s'il change de langage ?
Qu'est-ce qui pourrait pousser Qt à changer de langage, sans penser dans un premier temps à tous les problèmes engendrés par un tel changement ?
- La possibilité d'avoir un support équivalent sur toutes les plateformes (des parties de code pourraient être franchement ismpplifiées en supprimant le support d'anciens compilateurs, d'anciens frameworks...) ;
- Le contrôle du langage : pas besoin de tricher pour inclure une nouvelle structure comme le foreach, on pourrait faire très exactement la même chose que le PHP (càd avoir un mot-clé as, qui est bien plus explicite qu'une virgule dans ce cas précis) ;
- L'intégration parfaite : pour écrire dans une sortie standard C++, il faut commencer par surcharger des fonctions pour qu'elles prennent en entrée les types Qt...
0 |
0 |