Ми використовували його для створення парсерів. З ним було легше працювати, ніж з lex / yacc.
Чому він не отримує спостережуваного використання в галузі?
Це невідчутно. Що означає "детектируемость"? Кому потрібно отримати нагадування про виявлення?
http://www.meridiansystems.com/landing/ppc/prolog/getvideo.asp
Запитайте у програмі Meridian Software про їхні пропозиції прологів, якщо ви хочете фактів.
Однак, я зазнав певних перешкод на шляху до входу.
По-перше, пролог може бути повільним. Коли існує багато правил кандидата і немає простих операцій скорочення, щоб обмежити пошуковий простір, це може зайняти деякий час, щоб щось зробити.
По-друге, пролог не є процедурним або функціональним, тому багато програмістів не можуть використовувати його. (Цікаво, що деякі програмісти теж балакають на використанні SQL. З цього питання, деякі програмісти неохоче використовують SQL і роблять дивні речі, як-от уникнення операцій приєднання, або стверджують, що COUNT(*)
це магічно неефективно.)
По-третє, пролог вимагає досить чіткого роздуму над різними випадками. Процедурне програмування може бути неохайним і все ще надійно працювати. Невиконані заяви є прийнятними.
Наступне є прийнятним у більшості кіл.
b = a + 1
if a > b: # always False
Таке похмуре мислення спричиняє вам проблеми в пролозі.