LoginSignup
10
8

More than 5 years have passed since last update.

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

Posted at

英語では “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)」と呼ばれたと。汎用度がより高いので、振る舞いの面から「汎関数」とも呼ばれます。

10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8