Некоторые преимущества переменных в функциональном программировании:
- Лёгкая отладка. 4 Чистые функции и неизменяемые данные упрощают обнаружение мест определения значений переменных. 4
- Отложенное вычисление. 4 Функциональные программы производят вычисления только при необходимости, что позволяет повторно использовать ранее полученные результаты и экономить время на выполнение. 4
- Модульность. 4 Чистые функции не полагаются на внешние переменные или состояния, поэтому их можно легко переиспользовать в разных местах программы. 4
- Лучшая читаемость. 4 Функциональные программы легко читать, потому что поведение каждой функции неизменяемо и изолировано от состояния программы. 4
- Параллельное программирование. 4 Программы легче создавать при помощи функционального подхода, потому что неизменяемые переменные снижают число изменений внутри этих программ. 4
Некоторые недостатки переменных в функциональном программировании:
- Использование большого объёма памяти. 23 Многие действия построены на рекурсии, а при изменении любого значения создаётся новая переменная. 3
- Непредсказуемость порядка действий. 23 Для некоторых важных задач порядок действий важен по определению. 3 Например, ввод и вывод. 3 Если данные будут вводиться или выводиться хаотично, в непредсказуемом порядке, это ухудшит работу программы. 3
- Неуниверсальность чистых функций. 3 Одними чистыми функциями не получится решить многие задачи. 3 Некоторые важные действия по определению сложно или невозможно реализовать через чистые функции. 3