「高階関数」とは、何に対して、どれくらい高いのか?

英語では “higher-order function” だそうですが、これ、何が高いという意味なのでしょうか?

よく分かりません。そもそも日本語では、姓としての「高階さん」は居ても、独立して「高階」という語がありませんし。

お、言及がありますね。

All other functions are first-order functions.

higher-order function 以外の、「関数を引数に取らず、返すこともない関数」は “first-order function” だそうです。“lower” ではなく、“first” ですか。

ここでの “order” は、どうやら「序列」「階級」の意味で、「高階」は、「階級がより高い」「より上等な」の意味の訳語のようです。だったら、「高級関数」「上等関数」の方がありがたみがありますね。“first-order” は、階級を低い順に数えた際に一番目であるというのと同時に、「最初にあった」関数として、おおもとの「関数(function)」がレトロニムとして “first-order function” と呼ばれるようになった模様。ググると、“first-order function” には「一階関数」という訳語を用いている例もありますね。私としては初耳ですが。

まとめると、「高階関数」とは、従来の関数(一階関数)に比べて、より抽象化・汎用化されたことで、高度な(階級の高い)関数として、「高階関数(higher-order function)」と呼ばれたと。汎用度がより高いので、振る舞いの面から「汎関数」とも呼ばれます。