Разница между обычным (императивным) и функциональным программированием заключается в подходе к написанию кода. 24
При императивном программировании разработчик пишет код, указывающий шаги, которые компьютер должен предпринять для достижения цели. 4 Такое программирование иногда называют алгоритмическим. 4
В функциональном программировании решение задачи составляется в виде набора функций, которые должны быть выполнены. 4 Разработчик подробно определяет вход каждой функции и возвращаемые ею результаты. 4
Некоторые особенности функционального программирования:
- Отсутствие жёсткой последовательности. 1 Разработчик задаёт правила, а компилятор кода сам решает, в какой последовательности их выполнять. 1
- «Чистые» функции. 1 При одинаковых входных данных функция всегда вернёт одинаковый результат. 1 Когда функция выполняется, не возникают побочные эффекты — действия, которые влияют на что-то за её пределами. 1
- Неизменные переменные. 1 В функциональном программировании нет переменных в привычном виде. 1 Если с какой-то переменной нужно провести вычисления, она не изменяется: создаётся новая переменная, и результат вычислений записывается в неё. 1 А исходная остаётся прежней — её значение не меняется. 1