Программирование на функциональном уровне

Программирование на функциональном уровне
Метки:

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

Также посмотрите статью: «Что такое система контроля версий«, тоже всем рекомендую.

Программирование на функциональном уровне:

Программирование на функциональном уровне относится к одной из двух противоположных парадигм, определенных Джоном Бэкусом в его работе над программами, которые он рассматривает как математические объекты. В 1977 году Бэкус представил причины, по которым он считал необходимым изменить философию создания языков программирования.

Языки программирования кажутся не лучшими. Каждый дополнительный язык добавляет, с небольшими изменениями, все возможности своих предшественников, а также некоторые другие. Каждый новый язык может похвастаться новыми и современными функциями, но факт в том, что лишь несколько языков делают программирование достаточно дешевым или способным оправдать затраты на разработку и обучение.

Он разработал FP — первый язык программирования, специально поддерживающий программирование на уровне функций.

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

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

Объединив их с помощью операций, создающих программу или функцию. В отличие от подхода на уровне значений, который вызывает программы к значениям, чтобы создать последовательность значений, которая приводит к желаемому результату.

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

Отличие от функционального программирования:

Бэкус изучил и опубликовал свой стиль программирования на функциональном уровне, его сообщение было в основном неправильно понято, поэтому он поддерживал традиционные функциональные языки (такие как Lisp или Haskell) вместо своего собственного преемника FP и FL.

Бэкус назвал функциональное программирование функционально ориентированным языком; его программирование на функциональном уровне является частично принудительным типом функционально-ориентированного программирования.

Ключевое отличие от Лиспа и других функциональных языков заключается в том, что язык Бэкуса имеет следующие типы иерархии:

  • Атомы;
  • Функции, которые делают атомы атомами;
  • Функции более высокого порядка (которые он называет «функциональными формами»), которые принимают одну или две функции в функцию;

И единственный способ генерировать новые функции — использовать неизменяемые функциональные формы: вы не можете создавать свои собственные функциональные формы (по крайней мере, не в FP; это в FFP (формат FP))

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

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

Бэкус соглашался с ними в отношении слова «ограниченный», утверждая, что оно точно адаптировано к такому ограничению, что хорошо сформированное математическое место могло бы выделиться.

Вывод:

Думаю вы поняли что такое программирование на функциональном уровне и вам было интересно.

Источник: https://en.wikipedia.org/wiki/Function-level_programming;

Подписываетесь на соц-сети:

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
(Пока оценок нет)
Загрузка...

Поделится:

Также рекомендую:

55058653