Функциональное программирование
Материал из Поле цифровой дидактики
Версия от 15:54, 12 января 2023; Patarakin (обсуждение | вклад)
Описание | Функциона́льное программи́рование — парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних (в отличие от функций как подпрограмм в процедурном программировании). |
---|---|
Область знаний | Информатика |
Авторы | |
Поясняющее видео | |
Близкие понятия | Лямбда-исчисление, Рекурсия, Хвостовая рекурсия |
Среды и средства для освоения понятия | Lisp, APL, Scheme, Snap!, Wolfram |
В функциональных языках цикл обычно реализуется в виде рекурсии. Строго говоря, в функциональной парадигме программирования нет такого понятия, как цикл. Рекурсивные функции вызывают сами себя, позволяя операции выполняться снова и снова. Для использования рекурсии может потребоваться большой стек, но этого можно избежать в случае хвостовой рекурсии. Хвостовая рекурсия может быть распознана и оптимизирована компилятором в код, получаемый после компиляции аналогичной итерации в императивном языке программирования.
Стандарты языка Scheme требуют распознавать и оптимизировать хвостовую рекурсию. Оптимизировать хвостовую рекурсию можно путём преобразования программы в стиле использования продолжений при её компиляции, как один из способов.