Ruslan Batdalov wrote:
Что-то мне тоже захотелось вспомнить, чему меня на лекциях учили.
Не совсем правильно в одном списке перечислять императивное и
функциональное программирование. Это всё равно, что говорить, что
формальная грамматика состоит из лексем, нетерминальных символов,
правил грамматики и начального символа. Да, понятия лексемы и
терминального символа соответствуют друг другу. Но это категории
деления по разным признакам. Аналогично, либо "операторное",
"функциональное" и "логическое", либо "императивное" и
"декларативное". Подобно тому, как операторное программирование
реализует идеи императивного, рекурсивное -- декларативного, в свою
очередь подразделяясь на логическое и функциональное.
А структурное -- это уже разновидность операторного, "при котором
для передачи управления в программе используются только три
конструкции. Эти три конструкции допускают последовательную,
условную и итеративную передачи управления. Безусловная
"произвольная" передача управления запрещается. Прямым результатом
этого является то, что каждая сложная команда в программе имеет
ровно одну точку входа и одну точку выхода, вследствие чего
облегчается восприятие программы" (по словарю 1990 г.).
Видимо, значит, я что-то напутал....
Читаю начало книги Страуструпа ("Язык программирования С++", *третье*
издание)... У него говорится о парадигмах программирования:
- Процедурное
- Модульное
- (Абстракции данных)
- Объектно-ориентированное
- Обобщенное (с использованием параметризуемых классов - шаблонов)
Правда, все их объяснение основано на примере С++...
В общем, извините меня, я запутался в определениях... :-) Бывает.
--
Andrei Sosnin
http://zzx.ath.cx
<!-- : it all depends on your vision : -->