L5G

Un article de Wikipédia, l'encyclopédie libre.

Un langage de programmation de cinquième génération, abrégé L5G, est un langage de programmation basé sur le concept de 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 fonctionnant par contraintes ou par programmation logique ainsi que quelques langages déclaratifs sont des langages de cinquième génération.

Tandis que les langages de programmation de quatrième génération (L4G) nécessitent des algorithmes et sont conçus pour créer des programmes pour un domaine spécifique, surtout la connectivité aux bases de données et la gestion d'interfaces graphiques, les langages de cinquième génération sont plutôt conçus avec l'idée que l'ordinateur puisse résoudre n'importe quel problème pour vous. Avec cette approche, le programmeur a seulement besoin de penser aux problèmes qui doivent être résolus et quelles règles, conditions ou contraintes doivent être respectées, sans avoir à concevoir une routine ou un algorithme pour les résoudre. Les langages de cinquième génération sont principalement utilisés dans la recherche sur l'intelligence artificielle. Prolog, OPS5, et Mercury sont les langages de cinquième génération les plus connus.

Ces types de langages ont été également établis sur Lisp, beaucoup provenant originalement d'une machine Lisp. ICAD est un bon exemple. Puis, il y a beaucoup de Meta langages, comme KL-ONE.

Dans les années 1990, les langages de cinquième génération ont été considérées comme étant la vague du futur, et certains avaient même « prédit » qu'ils remplaceraient tous autres langages pour le développement de systèmes, excepté les langages de bas niveau. Notamment, le Japon a beaucoup investi en recherches et en argent dans leurs projets de systèmes informatiques de cinquième génération, en espérant ainsi concevoir un énorme réseau informatique des machines utilisant ces outils.

Cependant, au moment où de plus grands programmes furent conçus avec cette méthode, les failles de cette approche sont devenues de plus en plus évidentes. Il s'avéra que, de dériver un algorithme efficace à partir d'un ensemble de contraintes définissant un problème particulier, est un problème très difficile en soi. Cette étape cruciale ne peut pas encore être automatisée et exige encore toujours la perspicacité d'un programmeur humain.

Aujourd'hui, les langages de cinquième génération ont perdu une partie de leur attrait initial et sont pour la plupart du temps utilisés à des fins académiques.

[modifier] Voir aussi

Autres langues