Програмування вищого порядку () — це стиль програмування, що використовує компоненти програми, такі як функції, моделі чи об'єкти як значення. Зазвичай є екземпляром, або успадкуванням таких моделей обчислень, як лямбда-числення, що активно використовує функції вищого порядку.
В програмуванні вищого порядку функції можна передавати як аргументи в інші функції, а також функції можуть повертатись як результат роботи інших функцій (наприклад в макросах). Такий стиль програмування найчастіше використовується в функційному програмуванні, але також може бути дуже корисним в ООП.
Відомими прикладами мов, що підтримують такий стиль, є , C#, Java, ECMAScript (ActionScript, JavaScript, JScript), F#, Haskell, Lisp (Common Lisp, Scheme, Clojure, інші), Lua, Oz, Perl, Пролог, Python, Ruby, Smalltalk, Scala, ML, та Erlang.
Див. також Prolog#Програмування вищих порядків Логічне програмування вищого порядку
Зноски
Посилання Sjoerd Visscher «Higher Order Programming» (Як приклад використовується JavaScript)