Ответ
Функциональное программирование (ФП) основывается на нескольких ключевых принципах:
- Чистые функции – функция всегда возвращает одинаковый результат для одних и тех же входных данных и не имеет побочных эффектов.
- Неизменяемость (immutability) – данные не изменяются, а создаются новые.
- Функции высшего порядка – функции могут принимать другие функции как аргументы или возвращать их.
- Рекурсия – вместо циклов используется рекурсия для итераций.
- Ленивые вычисления – отложенное выполнение операций до необходимости.
Пример в Kotlin:
// Чистая функция
fun sum(a: Int, b: Int): Int = a + b
// Функция высшего порядка
fun applyOperation(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
return operation(a, b)
}
val result = applyOperation(2, 3, ::sum) // 5