Структурированное программирование - это старый термин, который, я думаю, будет охватывать функциональное, процедурное и многое другое. По сути, это означает использование явных структур потока управления вместо прямого перехода от инструкции к инструкции.
Функциональное и процедурное программирование в этом смысле являются структурированными парадигмами. Функциональное программирование также является декларативным программированием - структура, присваиваемая вашему коду, соответствует его значению - программа - это функция, которая изменяет состояние мира. Процедурное программирование - это то, что вы бы назвали «типичным» программированием на любом языке C или его потомках, включая ОО-языки, такие как Java и C ++. Программа представляет собой серию инструкций, которые должны выполняться последовательно и по ходу вызова подпроцедур.
Или, как это было классно описано:
Функциональное программирование похоже на
описывая вашу проблему
математик. Императивное программирование
это как давать инструкции
идиот.
--- arcus, #scheme on Freenode