]]> ]]>

Парадигма: на уровне функций

Программирование на уровне функций (другое русское название — комбинаторное программирование) предполагает, что программа строится из элементарных функций, комбинируемых при помощи функционалов (функциональных форм).

Эта парадигма не использует понятия переменной или операции присваивания, а вместо этого сосредотачивается на изучении элементарных функций и функциональных форм.

Программирование на уровне функций использует следующую иерархию сущностей в пределах языка программирования:

  • атомы — единицы данных, с которыми оперируют функции. Данные появляются только на входе и выходе программы, и нигде внутри. Атомы могут быть скалярами или множествами других атомов.
  • функции — инструменты, преобразующие атомы в другие атомы. Язык задает начальный набор функций, а программист может определять новые, используя функциональные формы. Сама программа тоже является функцией.
  • функциональные формы — инструменты, преобразующие функции в другие функции. Язык задает начальный набор функциональных форм, и либо позволяет создание новых форм (FFP), либо нет (FP). Таким образом, язык задает алгебру функциональных форм над пространством функций.

Программирование на уровне функций является противоположностью программирования на уровне значений и разновидностью функционального программирования (с ограничением на то, как создаются новые функции).

Языки программирования, поддерживающие данную парадигму программирования:

Работа программистам