Программирование высшего порядка
Эта статья в значительной степени или полностью опирается на один источник . ( июнь 2019 г. ) |
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2019 г. ) |
Программирование высшего порядка — это стиль компьютерного программирования , в котором в качестве значений используются компоненты программного обеспечения, такие как функции, модули или объекты. Обычно он создается или заимствуется из моделей вычислений, таких как лямбда-исчисление , в которых интенсивно используются функции более высокого порядка . Язык программирования можно считать языком более высокого порядка, если его компоненты, такие как процедуры или метки, можно использовать так же, как данные. Например, эти элементы можно использовать так же, как аргументы или значения. [1]
Например, в программировании высшего порядка можно передавать функции в качестве аргументов другим функциям, а функции могут быть возвращаемым значением других функций (например, в макросах или для интерпретации ). Этот стиль программирования чаще всего используется в функциональном программировании , но он также может быть очень полезен в объектно-ориентированном программировании . Немного другая интерпретация программирования высшего порядка в контексте объектно-ориентированного программирования — это сообщения высшего порядка , которые позволяют сообщениям иметь другие сообщения в качестве аргументов, а не функций.
Примерами языков, поддерживающих это, являются Ada , Wolfram Language , C# , Java , ECMAScript ( ActionScript , JavaScript , JScript ), F# , Haskell , Lisp ( Common Lisp , Scheme , Clojure и другие), Lua , Oz , Perl , PHP , Prolog , [2] Python , Ruby , Smalltalk , Scala , ML и Erlang .
См. также [ править ]
Ссылки [ править ]
- ^ Рейнольдс, Джон К. (1972). «Определенные интерпретаторы языков программирования высшего порядка» (PDF) . Материалы ежегодной конференции ACM - ACM '72 (Отчет). Том. 2. Ассоциация вычислительной техники. стр. 717–740. дои : 10.1145/800194.805852 . ISBN 9781450374927 . Проверено 19 декабря 2021 г.
- ^ Нэйш, Ли (1996). Логическое программирование высшего порядка на Прологе (Отчет). Кафедра компьютерных наук Мельбурнского университета. CiteSeerX 10.1.1.35.4505 .
Внешние ссылки [ править ]
- «Программирование высшего порядка», Шёрд Висшер (в качестве примера используется JavaScript)