À retenir
- Approche déclarative : on décrit le "quoi" (le but) et non le "comment" (les étapes).
- Basé sur la logique mathématique et la résolution de contraintes.
- Historiquement lié aux débuts de l'intelligence artificielle.
Un langage de cinquième génération (L5G) est un type de programmation où l'utilisateur décrit le problème à résoudre et les contraintes à respecter, plutôt que d'écrire l'algorithme étape par étape. C'est comme donner les règles d'un puzzle à un ordinateur pour qu'il le complète lui-même, au lieu de lui expliquer chaque mouvement de pièce à effectuer.
Étymologie
Acronyme de « Langage de Cinquième Génération » (5GL en anglais). Ce terme est apparu dans les années 1980, porté notamment par le projet japonais de système informatique de cinquième génération qui visait à créer des machines capables de raisonner comme des humains grâce à la programmation logique.
Exemples d'usage
- Prolog : le représentant le plus célèbre, utilisé pour le traitement du langage naturel et les systèmes experts.
- Mercury : un langage dérivé de Prolog, plus moderne et performant.
- OPS5 : un langage utilisé pour construire des systèmes de production et d'aide à la décision.
Cas d'usage
Ces langages interviennent principalement dans le domaine de l'intelligence artificielle symbolique, la recherche académique, la résolution de problèmes de planification complexes et la création de systèmes experts capables de simuler le raisonnement d'un spécialiste (médecin, ingénieur).
Bonnes pratiques
Évitez d'utiliser un L5G pour des applications classiques (web, mobile, gestion de base de données standard) car ils sont souvent moins performants pour ces tâches. La clé de succès réside dans une modélisation extrêmement précise des règles et des faits logiques dès le départ.
Synonymes
Antonymes
Conseil
Si vous venez de la programmation classique (C, Python, Java), préparez-vous à un changement de mentalité radical : vous ne donnerez plus d'ordres à la machine, vous lui énoncerez des vérités.
Questions fréquentes
Quelle est la différence entre L4G et L5G ?
Le L4G (comme le SQL) est conçu pour manipuler des données spécifiques, tandis que le L5G est conçu pour que l'ordinateur résolve des problèmes complexes par déduction logique.
Est-ce que ces langages sont encore utilisés ?
Oui, mais ils sont devenus des outils de niche ou ont été intégrés sous forme de bibliothèques dans des langages plus modernes comme Python ou Java.