Книга: Программирование на языке Пролог для искусственного интеллекта
2.6.3. Сочетание декларативного и процедурного подходов
2.6.3. Сочетание декларативного и процедурного подходов
В предыдущем разделе было показано, что порядок целей и предложений имеет существенное значение. Более того, существуют программы, которые верны в декларативном смысле, но на практике не работают. Такое противоречие между декларативным и процедурным смыслами может вызвать недовольство. Кто-нибудь спросит: "А почему вообще не забыть о декларативном смысле?" Такое пожелание становится особенно сильным, когда рассматриваются предложения типа:
предок( X, Z) :- предок( X, Z).
Это предложение верно в декларативном смысле, но совершенно бесполезно в качестве рабочей программы.
Причина, по которой не следует забывать о декларативном смысле, кроется в том, что прогресс, достигнутый в технологии программирования, получен на пути продвижения от учета всех процедурных деталей к концентрации внимания на декларативных аспектах, которые обычно легче формулировать и понимать. Сама система, а не программист, должна нести бремя заботы о процедурных деталях. В этом Пролог оказывает некоторую помощь, хотя, как мы видели в данном разделе, помощь лишь частичную: иногда он правильно прорабатывает эти процедурные детали, иногда — нет. Многие придерживаются мнения, что лучше иметь хоть какую-то декларативную семантику, чем никакой (отсутствие декларативной семантики характерно для многих других языков программирования). Практическим следствием такого взгляда является тот факт, что часто довольно легко получить работающую программу, имея программу декларативно корректную. Поэтому практичным следует признать такой подход: сосредоточиться на декларативных аспектах задачи, затем пропустить на машине полученную программу и, если она окажется процедурно неправильной, попытаться изменить порядок следования предложений и целей.
- Плюсы и минусы различных подходов к разработке бизнес-архитектуры
- Глава 8 Моделирование бизнес-процессов в среде ARIS – иллюстрация частных решений и подходов
- Сравнение разных подходов к измерению чувств
- Эволюция подходов к разработке программного обеспечения на протяжении ряда лет
- Пример: различия в производительности, обусловленные использованием различных подходов при работе с элементами управлени...
- 10.1. Предпосылки появления новых подходов к использованию информационных технологий при подготовке производства и изгот...
- Причины неэффективности традиционных подходов
- 2.2. Исторический генезис подходов к определению понятия маркетинговых информационных систем
- Трансформация подходов в сфере управления Сетью: глобализация vs интернационализация
- Глава 6 Классификация стилей рекламных текстов и различных подходов, используемых при их создании
- Разработка подходов к проведению анализа затрат
- 2.6. Порядок предложений и целей