Chúng tôi đã sử dụng nó để xây dựng trình phân tích cú pháp. Nó dễ làm việc hơn lex / yacc.
Tại sao nó không nhận được bất kỳ sử dụng ngành công nghiệp phát hiện?
Điều này là không thể trả lời. "Phát hiện" có nghĩa là gì? Ai cần lấy bản ghi nhớ phát hiện?
http://www.meridiansystems.com/landing/ppc/prolog/getvideo.asp
Hỏi Meridian Software về việc cung cấp prolog của họ nếu bạn muốn sự thật.
Tuy nhiên, có một số rào cản gia nhập mà tôi đã trải qua.
Đầu tiên, prolog có thể chậm. Khi có rất nhiều quy tắc ứng cử viên và không có thao tác cắt đơn giản nào để hạn chế không gian tìm kiếm, có thể mất một lúc để hoàn thành công việc.
Thứ hai, prolog không phải là thủ tục hoặc chức năng, vì vậy nhiều lập trình viên chùn bước khi sử dụng nó. (Thật thú vị, một số lập trình viên cũng chần chừ trong việc sử dụng SQL. Đối với vấn đề đó, một số lập trình viên sẽ miễn cưỡng sử dụng SQL và làm những việc lạ như tránh tham gia các hoạt động hoặc cho rằng điều đó COUNT(*)
không hiệu quả.)
Thứ ba, prolog đòi hỏi một số suy nghĩ khá rõ ràng về các trường hợp khác nhau là gì. Lập trình thủ tục có thể cẩu thả và vẫn hoạt động đáng tin cậy. Báo cáo không thực thi được chấp nhận.
Dưới đây là chấp nhận được trong hầu hết các vòng tròn.
b = a + 1
if a > b: # always False
Kiểu suy nghĩ u ám này khiến bạn gặp rắc rối trong prolog.