Użyliśmy go do budowy parserów. Łatwiej było pracować z lex / yacc.
Dlaczego nie uzyskuje żadnego wykrywalnego użycia w branży?
To jest bez odpowiedzi. Co oznacza „wykrywalny”? Kto musi otrzymać notatkę z wykrycia?
http://www.meridiansystems.com/landing/ppc/prolog/getvideo.asp
Zapytaj Meridian Software o ofertę prologu, jeśli chcesz poznać fakty.
Istnieją jednak pewne bariery wejścia, które napotkałem.
Po pierwsze, prolog może być powolny. Gdy istnieje wiele reguł kandydujących i nie ma prostych operacji cięcia, aby ograniczyć przestrzeń wyszukiwania, wykonanie zadania może trochę potrwać.
Po drugie, prolog nie jest proceduralny ani funkcjonalny, więc wielu programistów nie chce z niego korzystać. (Co ciekawe, niektórzy programiści nie zgadzają się na używanie SQL. W związku z tym niektórzy programiści niechętnie używają SQL i robią dziwne rzeczy, takie jak unikanie operacji łączenia lub twierdzenie, że COUNT(*)
jest to magicznie nieefektywne).
Po trzecie, prolog wymaga dość jasnego przemyślenia, jakie są poszczególne przypadki. Programowanie proceduralne może być niechlujne i nadal działać niezawodnie. Niewykonalne instrukcje są dopuszczalne.
W większości kręgów dopuszczalne są następujące elementy.
b = a + 1
if a > b: # always False
Tego rodzaju mroczne myślenie wpada w kłopoty z prologiem.