Програмування вищого порядку (англ.Higher-order programming) — це стиль програмування, що використовує компоненти програми, такі як функції, моделі чи об'єкти як значення. Зазвичай є екземпляром, або успадкуванням таких моделей обчислень, як лямбда-числення, що активно використовує функції вищого порядку.
В програмуванні вищого порядку функції можна передавати як аргументи в інші функції, а також функції можуть повертатись як результат роботи інших функцій (наприклад в макросах). Такий стиль програмування найчастіше використовується в функційному програмуванні, але також може бути дуже корисним в ООП.