À retenir
- Se concentre sur le quoi (le résultat souhaité) plutôt que sur le comment (les instructions).
- Repose sur la logique mathématique et la résolution de contraintes.
- Est historiquement lié aux débuts de l'intelligence artificielle.
Un langage de cinquième génération (5GL) est un type de programmation où l'on ne dicte pas à l'ordinateur la marche à suivre étape par étape (l'algorithme). À la place, on lui décrit le problème à résoudre, les faits connus et les règles à respecter. C'est comme donner une liste de contraintes à un organisateur de mariage (budget, nombre d'invités, date) et le laisser trouver seul la meilleure solution technique.
Étymologie
Le terme provient de la classification historique des langages informatiques (du binaire à l'assemblage, puis aux langages évolués comme le C). L'appellation a été popularisée dans les années 1980 par le projet japonais « Fifth Generation Computer Systems », qui visait à créer des machines capables de raisonner grâce à l'intelligence artificielle.
Exemples d'usage
- Prolog : le plus célèbre, utilisé pour la résolution de problèmes logiques.
- Mercury : un langage fonctionnel et logique moderne.
- OPS5 : utilisé pour construire des systèmes experts (logiciels simulant le raisonnement d'un spécialiste).
Cas d'usage
On utilise ces langages principalement dans le domaine de l'intelligence artificielle, pour la recherche de solutions complexes (emploi du temps, logistique), la démonstration de théorèmes mathématiques ou le diagnostic médical automatisé.
Bonnes pratiques
La clé réside dans la définition précise des faits et des relations logiques. Si les règles de départ sont floues ou contradictoires, l'ordinateur ne pourra pas aboutir à une solution cohérente, car il dépend entièrement de la base de connaissances fournie.
Synonymes
Antonymes
Conseil
Pour bien comprendre ce concept, essayez de visualiser une base de données qui ne se contente pas de stocker des noms, mais qui serait capable de déduire seule que 'si A est le père de B et B le père de C, alors A est le grand-père de C'. C'est l'essence de la 5G.
Questions fréquentes
Est-ce que Python est un langage de 5ème génération ?
Non, Python est un langage de 3ème génération (impératif et objet), car on y écrit des algorithmes explicites.
Pourquoi sont-ils moins utilisés que les autres ?
Ils sont très puissants pour des problèmes logiques précis, mais souvent plus lents et moins polyvalents que les langages classiques pour créer des applications web ou mobiles par exemple.