4 Punkte von GN⁺ 2024-07-19 | 2 Kommentare | Auf WhatsApp teilen
  • Als Informatikstudent beschäftige ich mich mit Prolog und logischer Programmierung
  • Ich habe die Grundlagen von Vanilla Prolog gelernt (Atome, Prädikate, Cut, Listen usw.) und eine schreckliche Implementierung eines Agenten-Kommunikationssystems gesehen, das in SICStus Prolog läuft
  • Ich möchte mehr darüber erfahren, weil ich denke, dass die Sprache selbst ihre Stärken haben könnte
  • Da mein Studiengebiet ziemlich grundlegend ist, möchte ich mein Wissen über diese Welt und eine andere Welt, die ich wirklich mag (Ontologien :D), erweitern und mich darin spezialisieren
  • Ich frage mich, wie Prolog im Jahr 2024 aussieht und was die Leute mit Prolog machen

2 Kommentare

 
cometkim 2024-07-19

Nicht direkt Prolog selbst, aber ich stimme zu, dass das Konzept von Constraints weiterhin nützlich bleiben wird.

Es wird auch in Bereichen wie Datenbanken häufig eingesetzt, und bei hochmodernen Programmiersprachen gibt es sogar Versuche, Datalog als First-Class-Feature zu unterstützen. (Beispiel: https://flix.dev/)

 
GN⁺ 2024-07-19
Hacker-News-Meinungen
  • Prolog ist eine Sprache mit 50 Jahren Geschichte und kann für allgemeines Programmieren mehr Hürden als Nutzen mit sich bringen

    • Es gibt viele Prolog-Systeme, aber wenig Prolog-Code, wodurch die Community zersplittert ist
    • Prolog zu lernen bedeutet eher „Wie vermeide ich es, in Prolog zu stolpern?“ als „Wie mache ich das in Prolog?“
    • Einige engagierte Menschen und Idealisten diskutieren über das Potenzial von Prolog
    • Prolog hat interessante und unterhaltsame Aspekte, kann aber auch riskant sein
  • Scryer Prolog setzt mit einem leistungsstarken Open-Source- und ISO-kompatiblen Prolog einen neuen Meilenstein

  • Prolog und Constraint-Programmierung sind nützliche Werkzeuge

    • Prolog hat einige Probleme
      • Es gibt kein modernes Modul- oder Paketsystem
      • In großen Codebasen sind unlogische Strukturen unvermeidlich, was den Code komplex macht
      • Ohne statische und starke Typisierung ist es schwer, robusten Code zu schreiben
    • Prolog ist eine erstaunliche Sprache und hat möglicherweise einen Platz in der Zukunft des Programmierens
  • Theoretisch ist Prolog die beste Sprache

    • Es hat Eigenschaften als formale Logik, Berechnungssprache und Metaprogrammiersprache
    • In der Praxis gibt es leistungsfähige Implementierungen und eine kleine Community
    • Man kann mit Prolog vieles tun, aber oft ist nicht klar, wie man es tun soll
  • Es ist gut, dass neue Leute Interesse an Prolog zeigen

    • Es wird eine Bibliothek entwickelt, um Trealla Prolog einfach mit Wasm nutzen zu können
    • Links: TypeScript Library, Go Library
    • Scryer und Trealla streben ISO-Kompatibilität an
  • Prolog ist eine Sprache, die eine neue Denkweise verlangt

    • Das deklarative Paradigma ist gut, bietet aber gegenüber anderen Sprachen keinen großen Vorteil
    • Bei Problemen, auf die sich CLPFD anwenden lässt, ist es sehr ausdrucksstark
    • Es macht Spaß, mit LLMs Prolog-Fakten/Datenbanken zu erzeugen
  • Die „Magie“ von Prolog basiert auf den Konzepten Unifikation und Backtracking

    • Als deklarative Sprache kann es inverse Probleme einfach ausdrücken, liefert aber keine Lösung dafür
    • Wenn sich die Lösungs-Engines verbessern, wird die Nutzung deklarativer Constraint-Programmiersprachen wie Prolog zunehmen
  • Ich weiß fast nichts über Prolog, aber das Datalog-Tutorial hat mir gefallen

  • Die Suchalgorithmen der logischen Programmierung sind langsam

    • Prolog kann alles, aber nicht alles gut
    • Prolog eignet sich für bestimmte Aufgaben wie die Pflege von Datenbanken