Функціональне програмування

Матеріал з Вікіпедії — вільної енциклопедії.

Функціона́льне програмува́ння — парадигма програмування, яка розглядає програму як обчислення математичних функцій та уникає стани та змінних даних. Функціональне програмування наголошує на застосуванні функцій, на відміну від імперативного програмування, яке наголошує на змінах в стані та виконанні послідовностей команд.

Ширша концепція функціонального програмування визначає набір спільних правил та тем замість переліку відмінностей від інших парадигм. До таких, що часто вважаються важливими, належать функції вищого порядку та першого класу, замикання, та рекурсія. До інших поширених можливостей функціональних мов програмування належать продовження, система типізації Хіндлі-Мілнера, нестроге обчислення (включаючи, але, не обмежуючись лінивими обчисленнями), та монади.

Основну увагу функціональним мовам програмування, особливо, «чисто функціональним», приділи академічні дослідники. Однак, до відомих функціональних мов програмування, які використовуються в промисловості та комерційному прогармуванні належить Erlang (паралельні програми), R (статистика), Mathematica (символьні обчислення)), J та K (фінансовий аналіз), та спеціалізовані мови програмування накшталт XSLT. Істотний вплив на функціональне програмування здійснило лямбда числення, мова програмування APL, мова програмування Lisp та, новіша мова програмування Haskell.

[ред.] Джерела інформації