Kurz erklärt
Eine Higher-Order-Funktion nimmt andere Funktionen als Argument entgegen oder gibt eine Funktion als Ergebnis zurück. Bekannte Beispiele sind map, filter und reduce.
Genauer
Sie setzt voraus, dass Funktionen Werte erster Klasse sind: Man kann sie in Variablen speichern, übergeben und zurückgeben. Das ist der Kern der funktionalen Programmierung, aber heute in fast jeder Sprache möglich. Schleifen mit Zustand werden durch aussagekräftige Operationen ersetzt.