L5G

Définition, exemples et bonnes pratiques

À 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

5GL langage de programmation logique langage déclaratif

Antonymes

L1G langage impératif langage procédural

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.