В языках функционального программирования основными конструктивными элементами являются функции. Основное отличие от императивных языков программирования заключается в декларативности описаний функций. Тексты программ на функциональных языках программирования описывают «как решить задачу», но не предписывают последовательность действий для решения.
// Язык функционального программирования — Википедия
Императивное программирование (англ. Imperative programming) — это парадигма программирования, которая в отличие от декларативного программирования описывает процесс вычисления в виде инструкций, изменяющих состояние программы. Императивная программа очень похожа на приказы, выражаемые повелительным наклонением в естественных языках, то есть это последовательность команд, которые должен выполнить компьютер.
// Императивное программирование — Википедия
Pure functional programming languages typically enforce referential transparency, which is the notion that 'equals can be substituted for equals': if two expressions have "equal" values (for some notion of equality), then one can be substituted for the other in any larger expression without affecting the result of the computation. For example, in
y = f(x) * f(x);
a compiler can factor out f(x) if it is pure, transforming the program to
z = f(x);
y = z * z;
and eliminating the second evaluation of the (possibly costly) call to f(x). This optimization is called common subexpression elimination.
Здравствуйте, гость!
Гостевой функционал сайта ограничен. Для полноценной работы зарегистрируйтесь, пожалуйста.