高階手続き

だいぶん、問題をすっ飛ばして、ここまでやってきた。
さて、高階関数。日本語にすると、普通っぽいけど、英語だとやたらめったらかっこ良い。"Higher-Order Function"

そんなかっこい高階関数ですが、普段プログラミングしているとほとんど現れない。というか、見たことない気がする。
個人的なコードを書く時には、たまにやるんだけど、人に渡す時とかはやったことないなぁ。
何でかと言うと、逆のことをされると、ぼくが理解できないから。

昔の上司に関数プログラミングの話をしたときに、『誰もメンテナンスできないコードになるから、そのスタイルでは書くな』と言われた。確かに会社の場合、いずれ誰かにコードを引き継がないといけないので、誰でもわかるコードにする必要がある。
高階関数はその用途には適していない、ように感じる。

高階関数を使うことで、手続きをパターン化し、より高い抽象度に連れて行ってくれるはずなのだが、実社会においては『過ぎたるは、及ばざるがごとし』と言うことだろうか。