Langage de programmation de cinquième génération - Fifth-generation programming language

Un langage de programmation de cinquième génération ( 5GL ) est un langage de programmation basé sur la résolution de problèmes en utilisant des contraintes données au programme, plutôt que d'utiliser un algorithme écrit par un programmeur. La plupart des langages de programmation logiques et basés sur des contraintes et certains autres langages déclaratifs sont des langages de cinquième génération.

Histoire

Alors que les langages de programmation de quatrième génération sont conçus pour créer des programmes spécifiques, les langages de cinquième génération sont conçus pour permettre à l'ordinateur de résoudre un problème donné sans le programmeur. De cette façon, l'utilisateur n'a qu'à se soucier des problèmes à résoudre et des conditions à remplir, sans se soucier de la manière de mettre en œuvre une routine ou un algorithme pour les résoudre. Les langages de cinquième génération sont principalement utilisés dans la recherche en intelligence artificielle . OPS5 et Mercury sont des exemples de langages de cinquième génération. tout comme ICAD , qui a été construit sur Lisp . KL-ONE est un exemple d'idée connexe, un langage de cadre .

Dans les années 1980, les langages de cinquième génération étaient considérés comme la voie de l'avenir, et certains prédisaient qu'ils remplaceraient la programmation procédurale par une programmation basée sur les contraintes pour toutes les tâches pouvant être définies comme une série de contraintes logiques. Plus particulièrement, de 1982 à 1993, le Japon a investi beaucoup de recherche et d'argent dans son projet de systèmes informatiques de cinquième génération , dans l'espoir de concevoir un réseau informatique massif de machines utilisant ces outils.

Cependant, au fur et à mesure que des programmes plus importants ont été construits, les défauts de l'approche sont devenus plus apparents. Il s'avère que, étant donné un ensemble de contraintes définissant un problème particulier, dériver un algorithme efficace pour le résoudre est un problème très difficile en soi. Cette étape cruciale ne peut pas encore être automatisée et nécessite toujours la perspicacité d'un programmeur humain.

Idée reçue

Les fournisseurs ont été connus à l'occasion pour annoncer leurs langues comme 5GL. La plupart du temps, ils vendent en fait des 4GL avec un niveau plus élevé d'automatisation et de base de connaissances . Parce que le battage médiatique des années 1980 s'est estompé et que les projets ont finalement tous été abandonnés, la sensibilisation à la 5GL a également diminué ; cela a permis aux fournisseurs de réutiliser le terme dans la commercialisation de leurs nouveaux outils, sans provoquer beaucoup de controverse parmi les générations actuelles de programmeurs.

Langages de la génération précédente

Voir également

Les références