4 points par GN⁺ 2024-07-19 | 2 commentaires | Partager sur WhatsApp
  • En tant qu’étudiant en informatique, j’étudie Prolog et la programmation logique
  • J’ai appris les bases du Prolog vanilla (atomes, prédicats, cut, listes, etc.) et j’ai vu une implémentation épouvantable d’un système de communication entre agents fonctionnant sur SICStus Prolog
  • J’aimerais en savoir plus, car je pense que ce langage peut en lui-même constituer un point fort
  • Comme le domaine que j’étudie est assez fondamental, j’aimerais élargir et approfondir mes connaissances de cet univers ainsi que d’un autre univers que j’adore vraiment (les ontologies :D)
  • Je me demande à quoi ressemble Prolog en 2024 et ce que les gens font avec Prolog

2 commentaires

 
cometkim 2024-07-19

Ce n’est pas Prolog en soi, mais je suis d’accord pour dire que le concept de contraintes continuera d’être utile.

Il est aussi beaucoup utilisé dans des systèmes comme les bases de données, et parmi les langages de programmation de pointe, il y a aussi des tentatives de prise en charge de Datalog comme fonctionnalité de premier plan. (Exemple : https://flix.dev/)

 
GN⁺ 2024-07-19
Avis Hacker News
  • Prolog est un langage vieux de 50 ans qui, pour le développement général, présente souvent plus d’obstacles que d’utilité

    • Il existe de nombreux systèmes Prolog, mais peu de code Prolog, ce qui fragmente la communauté
    • Apprendre Prolog revient moins à se demander « comment faire cela en Prolog ? » qu’à se demander « comment éviter de trébucher en Prolog ? »
    • Quelques personnes dévouées et idéalistes continuent de discuter du potentiel de Prolog
    • Prolog a des aspects intéressants et amusants, mais peut aussi être risqué
  • Scryer Prolog établit un nouveau jalon en tant que Prolog open source performant et compatible ISO

  • Prolog et la programmation par contraintes sont des outils utiles

    • Prolog a quelques problèmes
      • Il n’existe pas de système moderne de modules ou de paquets
      • Sur de grandes bases de code, des structures non logiques deviennent inévitables, ce qui complique le code
      • L’absence de typage statique et fort rend l’écriture de code robuste difficile
    • Prolog est un langage remarquable, et il pourrait avoir une place dans l’avenir de la programmation
  • En théorie, Prolog est le meilleur des langages

    • Il possède des caractéristiques de formalisme logique, de langage de calcul et de métaprogrammation
    • En pratique, il existe des implémentations performantes et une petite communauté
    • On peut faire beaucoup de choses avec Prolog, mais il n’est souvent pas clair comment s’y prendre
  • Il est positif de voir de nouvelles personnes s’intéresser à Prolog

    • Une bibliothèque est en cours de développement pour faciliter l’utilisation de Trealla Prolog avec Wasm
    • Liens : TypeScript Library, Go Library
    • Scryer et Trealla visent la compatibilité ISO
  • Prolog est un langage qui demande une nouvelle manière de penser

    • Le paradigme déclaratif est intéressant, mais n’offre pas d’avantage majeur par rapport aux autres langages
    • Il est très expressif pour les problèmes auxquels on peut appliquer CLPFD
    • Utiliser un LLM pour générer des faits ou une base de données Prolog est amusant
  • La « magie » de Prolog repose sur les concepts d’unification et de backtracking

    • En tant que langage déclaratif, il permet d’exprimer simplement des problèmes inverses, sans pour autant fournir de solution
    • Si les moteurs de résolution s’améliorent, l’usage de langages déclaratifs de programmation par contraintes comme Prolog augmentera
  • Je ne connais presque rien à Prolog, mais j’ai apprécié le tutoriel Datalog

  • Les algorithmes de recherche de la programmation logique sont lents

    • Prolog peut tout faire, mais ne fait pas tout bien
    • Prolog est adapté à certaines tâches spécifiques, comme la maintenance de bases de données