История изменений
Исправление yetanother, (текущая версия) :
Между прочим, в C# очень интенсивно идет переход именно в функционально-процедурном направлении.
Тут, видимо, путаница в терминах. Насколько я знаю, процедурное программирование это чистая императивщина, когда программист пишет программу и в ней указывает что и после чего должно быть сделано. В противоположность (бинарную, т.е. есть только две градации) существует другой подход, когда программист пишет программу, указывая в ней, что должно получиться - это функциональный подход. Это две противоположности - императивное программирование и функциональное. В одном человек прописывает компилятору что и как делать и результат получается неявно в ходе этих действий, а во втором человек явно прописывает компилятору что должно получиться в результате, а как это достигается остается на откуп компилятора. Вместо компилятора может быть интерпретатор, тут это не важно.
Отсюда термин функционально-процедурное программирование выглядит как сухо-влажная уборка и холодно-горячекатанная сталь. В контексте императивного/функционального программирования функция != процедуре, потому что функция имеется в виду математическая, которая чистая, а не функция из информатики, которая та же процедура только с возвратом, она же подпрограмма.
EDIT:
Если язык может как работать с чистыми функциями, так и с грязными, то это процедурно-функциональный язык.
Тут уже понятнее. Процедурно-функциональный язык еще как-то понятно, в отличие от функционально-процедурного направления. Хотя «язык поддерживающий императивное и функциональное программирование» звучит более благозвучно, как по мне.
Исходная версия yetanother, :
Между прочим, в C# очень интенсивно идет переход именно в функционально-процедурном направлении.
Тут, видимо, путаница в терминах. Насколько я знаю, процедурное программирование это чистая императивщина, когда программист пишет программу и в ней указывает что и после чего должно быть сделано. В противоположность (бинарную, т.е. есть только две градации) существует другой подход, когда программист пишет программу, указывая в ней, что должно получиться - это функциональный подход. Это две противоположности - императивное программирование и функциональное. В одном человек прописывает компилятору что и как делать и результат получается неявно в ходе этих действий, а во втором человек явно прописывает компилятору что должно получиться в результате, а как это достигается остается на откуп компилятора. Вместо компилятора может быть интерпретатор, тут это не важно.
Отсюда термин функционально-процедурное программирование выглядит как сухо-влажная уборка и холодно-горячекатанная сталь. В контексте императивного/функционального программирования функция != процедуре, потому что функция имеется в виду математическая, которая чистая, а не функция из информатики, которая та же процедура только с возвратом, она же подпрограмма.