ВУЗ:
Составители:
понятий и явлений природной области задачи. Чем более адекватно можно выполнить это
отображение, тем выше уровень языка программирования.
Декларативное программирование требует высокого уровня абстрагирования. Но
повышение уровня абстрагирования необходимое требование для программиста. Эдсгер
Дейкстра (Edsger Dijkstra) [3] подчеркивал, что программист должен обладать умением
абстрагировать: «Язык программирования – это лишь средство описания абстрактных
конструкций. Программист должен иметь способность полностью абстрагироваться от
несущественных деталей, думая на нескольких уровнях абстракции одновременно».
Декларативные языки при классификации по степени абстракции от аппаратуры
относятся к языкам сверхвысокого уровня. Команды исполняются на полностью абстракт-
ной машине, полностью скрыт доступ к памяти, и возможно скрыть поток управления.
Концептуальная целостность языка – характеризуется свойствами совокупности
понятий, служащих для описания этого языка и включает три взаимосвязанных аспекта.
Экономия понятий – язык должен достигать своей максимальной мощности мини-
мальным количеством понятий.
•
•
•
Ортогональность понятий – между понятиями не должно быть взаимного влияния.
Если понятие используется в различных контекстах, то правило его использования
должно быть одним и тем же.
Единообразие понятий – требование согласованного единого подхода к описанию и
использованию всех понятий.
Декларативные языки являются, как правило, концептуально целостными. Язык Haskell в
этом отношении является стандартом.
О неортогональности понятий даже самых лучших языков
К сожалению, даже такие языки, как Паскаль, допускают неортогональные конструкции.
Например, пользователь может определить процедуры только с фиксированным числом
параметров, однако некоторые стандартные процедуры (например, write) могут быть вы-
званы с переменным числом параметров.
Очень важны для применения языка следующие характеристики:
Надежность – язык должен обеспечивать минимум ошибок при написании программ.
Более того, язык должен быть таким, чтобы неправильные программы было трудно
писать.
•
•
•
•
Удобочитаемость – легкость восприятия программ человеком. Эта характеристика
особенно важна при коллективной работе, когда несколько человек работают с одними
и теми же текстами программ.
Полнота – характеризует способность описать класс задач в некоторой предметной
области.
Гибкость – характеризует легкость выражения необходимых действий.
Ниже будет показано, что современные чистые функциональные языки обладают всеми
вышеперечисленными характеристиками.
Международные организации, занимающие стандартизацией, ACM (The
Association for Computing Machinery) и IEEE (Institute of Electrical and Electronic Engineers)
рекомендуют в учебных программах по программированию значительное место отводить
изучению различных парадигм программирования, в том числе и изучению декларативно-
го программирования.
6
Страницы
- « первая
- ‹ предыдущая
- …
- 4
- 5
- 6
- 7
- 8
- …
- следующая ›
- последняя »