Это PL, который просто поражает воображение. Он настолько ахуенен, что и представить сложно. В общем, я написал макровскую цепь в двух строчках кода, блядь!
Пролог критикуется, в первую очередь, за неполную декларативную природу: создание сколько-нибудь сложных и практически полезных Пролог-программ в полностью декларативном стиле практически невозможно, программист вынужден прибегать к процедурным приёмам, что приводит к резкому возрастанию сложности создания и отладки программ, а также плохой контролируемости промежуточных результатов.[2]
Другим часто подвергаемым критике свойством языка является отсутствие типизации (при этом в Visual Prolog[3] — одном из объектно-ориентированных расширений языка — реализована строгая типизация, что, однако, снижает гибкость пролога).
В языке предопределён порядок обхода дерева решений «в глубину» и стандартизированы операторы, позволяющие вмешиваться в этот процесс (такие как оператор отсечения ! или ветвления ->). Такая архитектура затрудняет автоматическое распараллеливание программ, которое позволило бы задействовать в поиске решения несколько процессоров или узлов сети.