Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Qt : peut-il être considéré comme un langage de 4e génération ?

Le , par crazy_inf

0PARTAGES

0  0 
Peut-on considérer Qt comme un langage de 4e génération?

Qu'appelle-t-on un langage de "4e génération" ?

C'est un langage qui doit offrir :
  • un langage déclaratif de manipulation de données ;
  • un langage impératif simple (procédural, fonctionnel ou orienté objet) ;
  • un langage de description d'interfaces graphiques avec idéalement un éditeur d'interface ;
  • un langage de description de rapports imprimables avec idéalement un éditeur de rapport ;
  • un langage de programmation événementielle avec idéalement une liaison entre le code et l'interface graphique.
Peut-on considérer Qt comme un tel langage ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de gbdivers
Inactif https://www.developpez.com
Le 22/02/2010 à 17:27
Qt est-il un language ?

Je dirais non

Par contre, je dirais que le QML semble etre un language de 4eme génération selon ta définition (un peu à vue de nez, je ne connais très mal QML)
0  0 
Avatar de Jeromnimo
Membre du Club https://www.developpez.com
Le 22/02/2010 à 17:32
Je rejoins le post précédent, Qt n'est pas un langage, c'est le C++ / java le langage utilisé... qui ne sont pas des langages de 4ème génération
0  0 
Avatar de johnlamericain
Rédacteur https://www.developpez.com
Le 22/02/2010 à 17:49
En effet, Qt n'est pas un langage mais bien une bibliothèque C++. L'ensemble des fonctionnalités qu'elle embarque (EDI, Tools, Designer...) fait de cette bibliothèque un Framework complet téléchargeable et utilisable facilement.
0  0 
Avatar de atomicJo
Membre habitué https://www.developpez.com
Le 22/02/2010 à 19:36
Citation Envoyé par crazy_inf Voir le message


C'est un langage qui doit offrir :
  • un langage déclaratif de manipulation de données ;
  • un langage impératif simple (procédural, fonctionnel ou orienté objet) ;
  • un langage de description d'interfaces graphiques avec idéalement un éditeur d'interface ;
  • un langage de description de rapports imprimables avec idéalement un éditeur de rapport ;
  • un langage de programmation événementielle avec idéalement une liaison entre le code et l'interface graphique.

Selon moi, ça ressemble plus à la description d'un framework que d'un langage
0  0 
Avatar de yan
Rédacteur https://www.developpez.com
Le 22/02/2010 à 21:27
+1, c'est un framework que tu décrit
* un langage déclaratif de manipulation de données ;
c'est à dire?

* un langage impératif simple (procédural, fonctionnel ou orienté objet) ;
Qt est écrit en C++

* un langage de description d'interfaces graphiques avec idéalement un éditeur d'interface ;
Qt fournie ce qu'il faut

* un langage de description de rapports imprimables avec idéalement un éditeur de rapport ;
Peut tu donner un exemple. Pour l'impression, Qt ne fournie pas d'éditeur.

* un langage de programmation événementielle avec idéalement une liaison entre le code et l'interface graphique.
Qt fournie ce qu'il faut(event loop,signal/slot,...). Mais je comprend pas la partie en gras
0  0 
Avatar de crazy_inf
Membre régulier https://www.developpez.com
Le 25/02/2010 à 10:18
Citation Envoyé par johnlamericain Voir le message
En effet, Qt n'est pas un langage mais bien une bibliothèque C++. L'ensemble des fonctionnalités qu'elle embarque (EDI, Tools, Designer...) fait de cette bibliothèque un Framework complet téléchargeable et utilisable facilement.
D'abord merci pour vos réponses...
Donc, je reformule ma question d'une autre façon en disant: Que-ce qu'il lui (Qt) manque pour devenir un langage?

Citation Envoyé par yan Voir le message

Qt fournie ce qu'il faut(event loop,signal/slot,...). Mais je comprend pas la partie en gras

Merci pour ta réponse.
En fait, c'est une définition que j'ai dû avoir par le biais du site Wikipedia et c'est presque la même avec celle qui nous a été fournie en classe
En tout les cas, la phrase celle où t'as cité en gras je n'arrive pas à la piger aussi...mais on peut toujours éssayer de comprendre, on sait que GUI faites en Qt ont une interaction implicite avec le système d'éxploitation (avec les thèmes du OS plutôt )...j'ai dit une bêtise là?
0  0 
Avatar de johnlamericain
Rédacteur https://www.developpez.com
Le 25/02/2010 à 10:58
Citation Envoyé par crazy_inf Voir le message
Donc, je reformule ma question d'une autre façon en disant: Que-ce qu'il lui (Qt) manque pour devenir un langage?
Pourquoi veux-tu que Qt devienne un langage ?
Je ne pense pas qu'un framework peut devenir un langage, tu as des exemples contraires ?
J'irais même plus loin de disant que je ne pense pas qu'un framework à l'intention de devenir un langage (ni la prétention).
0  0 
Avatar de gbdivers
Inactif https://www.developpez.com
Le 25/02/2010 à 11:06
Il ne faut pas hésiter à cliquer sur les liens

Un L4G ou langage de quatrième génération est un langage de programmation...
Un langage de programmation est un langage informatique...
On appelle langage informatique un langage formel...
on désigne par langage formel un mode d'expression (...) d'un ensemble de mots (...) d'une sémantique.
Pour Qt, la sémantique et les "mots" de base ne sont pas définit par Qt mais par C++. C'est donc C++ le language.

Pour faire un analogie avec la "vraie vie", ton manuel de grammaire et ton dictionnaire larousse forment le langage de base (C++ ici) et ton cours d'informatique et ton dictionnaire des termes informatiques constituent un complément (Qt ici)

Donc pour répondre à ta question "Que-ce qu'il lui (Qt) manque pour devenir un langage?", je dirais... un langage !

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.

je ne pense pas qu'un framework à l'intention de devenir un langage
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.
0  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 25/02/2010 à 19:19
Citation Envoyé par gbdivers Voir le message
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à.

Citation Envoyé par gbdivers Voir le message
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 
Avatar de bretus
Membre éprouvé https://www.developpez.com
Le 25/02/2010 à 20:45
Bonjour,

Citation Envoyé par gbdivers Voir le message

Donc pour répondre à ta question "Que-ce qu'il lui (Qt) manque pour devenir un langage?", je dirais... un langage !
Avec la puissance du pré-compilateur, la question se pose au moins de savoir si c'est une extension du langage C++.

qmake transforme quand même des .ui, des bon vieux xml sans c++ en fichier c++ ( traduction de code ).

S'adjoint à ça l'ajout de mot clef dans le langage c++ : slot et signal, ainsi que Q_OBJECT qui est plus qu'une macro.

Alors, langage de 4ième génération ou pas, ce n'est pas seulement un ensemble de classe et de bibliothèque en C++... Il y a quand même une sur-couche pour mettre en place des mécanismes qui serait un peu lourd avec la "grammaire" actuelle du C++...
0  0