Wir haben damit Parser erstellt. Es war einfacher, damit zu arbeiten als mit Lex / Yacc.
Warum wird es in der Branche nicht nachweisbar genutzt?
Das ist nicht zu beantworten. Was bedeutet "nachweisbar"? Wer muss das Erkennungsprotokoll erhalten?
http://www.meridiansystems.com/landing/ppc/prolog/getvideo.asp
Fragen Sie Meridian Software nach ihrem Prologangebot, wenn Sie Fakten wünschen.
Es gibt jedoch einige Eintrittsbarrieren, die ich erlebt habe.
Erstens kann der Prolog langsam sein. Wenn es viele Kandidatenregeln und keine einfachen Ausschneidevorgänge gibt, um den Suchraum einzuschränken, kann es eine Weile dauern, bis etwas erledigt ist.
Zweitens ist Prolog nicht prozedural oder funktional, so dass viele Programmierer es ablehnen, es zu verwenden. (Interessanterweise verzichten einige Programmierer auch auf die Verwendung von SQL. Außerdem werden einige Programmierer widerstrebend SQL verwenden und seltsame Dinge wie das Vermeiden von Verknüpfungsoperationen ausführen oder behaupten, dies COUNT(*)
sei magisch ineffizient.)
Drittens erfordert der Prolog ein ziemlich klares Nachdenken über die verschiedenen Fälle. Prozedurale Programmierung kann schlampig sein und trotzdem zuverlässig funktionieren. Nicht ausführbare Anweisungen sind zulässig.
Das Folgende ist in den meisten Kreisen akzeptabel.
b = a + 1
if a > b: # always False
Diese Art des düsteren Denkens bringt Sie im Prolog in Schwierigkeiten.