| dbpedia-owl:abstract
|
- A fifth-generation programming language (abbreviated 5GL) is a programming language based around solving problems using constraints given to the program, rather than using an algorithm written by a programmer. Most constraint-based and logic programming languages and some declarative languages are fifth-generation languages. While fourth-generation programming languages are designed to build specific programs, fifth-generation languages are designed to make the computer solve a given problem without the programmer. This way, the programmer only needs to worry about what problems need to be solved and what conditions need to be met, without worrying about how to implement a routine or algorithm to solve them. Fifth-generation languages are used mainly in artificial intelligence research. Prolog, OPS5, and Mercury are examples of fifth-generation languages. These types of languages were also built upon Lisp, many originating on the Lisp machine, such as ICAD. Then, there are many frame languages, such as KL-ONE. In the 1980s, fifth-generation languages were considered to be the wave of the future, and some predicted that they would replace all other languages for system development, with the exception of low-level languages. Most notably, from 1982 to 1993 Japan put much research and money into their fifth generation computer systems project, hoping to design a massive computer network of machines using these tools. However, as larger programs were built, the flaws of the approach became more apparent. It turns out that starting from a set of constraints defining a particular problem, deriving an efficient algorithm to solve it is a very difficult problem in itself. This crucial step cannot yet be automated and still requires the insight of a human programmer. Today, fifth-generation languages are back as a possible level of computer language. A number of software vendors currently claim that their software meets the visual "programming" requirements of the 5GL concept.
- 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 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 les 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.
|