Язык функционального программирования
Материал из Википедии — свободной энциклопедии
В языках функционального программирования основным конструктивным элементом является математическое понятие функции. Существует различия в понимании функции в математике и функции в программировании , вследствии чего нельзя отнести Си подобные языки к функциональным, использующим менее строгое понятие. Функция в математике не может изменить вызывающее её окружение и запомнить результаты своей работы, а только предоставляет результат вычисления функции. Программирование с использованием математического понятия функции вызывает некоторые трудности, поэтому функциональные языки, в той или иной степени предоставляют и императивные возможности, что ухудшает дизайн программы (например возможность безболезненных дальнейших изменений). Дополнительное отличие от императивных языков программирования заключается в декларативности описаний функций. Тексты программ на функциональных языках программирования описывают «как решить задачу», но не предписывают последовательность действий для решения. Первым, спроектированным функциональным языком стал Лисп. Вариант данного языка широко используется в системе автоматизированного проектирования AutoCAD и называется AutoLISP
В качестве основных свойств функциональных языков программирования обычно рассматриваются следующие:
- краткость и простота;
- строгая типизация;
- модульность;
- функции — объекты вычисления;
- чистота (отсутствие побочных эффектов);
- отложенные (ленивые) вычисления.
[править] Некоторые языки функционального программирования
[править] Ссылки
- http://roman-dushkin.narod.ru/fp.html — Курс лекций по функциональному программированию, читаемый в МИФИ с 2001 года.