「関数型」プログラミングじゃなくて、「関数定義型」プログラミングのほうがよくない?

「関数型」プログラミングじゃなくて、「関数定義型」プログラミングのほうがよくない?

 ――てなことを、「なぜ関数プログラミングは重要か」を読んで思った。

 些細な違いだけど、「関数定義型」と言ったほうが日本語として正しく伝わると思う。

 というか、コンピュータ用語はもうちょっと気を使って翻訳したほうがいいんじゃないのかな。昔はちゃんと日本語に置き換えていたというのに。

 たとえそれが「電算機」や「算法」のように結局使われなくなったとしても、日本語として意味が通じるように一度は考えてみるべきでしょう。何も考えずにカタカナにしたりそのまま英略字を使うのは、最近の翻訳者は手を抜きすぎてるんじゃないの? とか思わなくもない。

 例えば、オブジェクト指向プログラミングが分かりにくいのは、その名称および関連用語がちゃんとした日本語になっていないのが問題なんだと思う。概念としては特に難しいことを言っているわけじゃないのに、「クラス」「メソッド」「オブジェクト」「インスタンス」「インヘリタンス」「オーバーライド」「オーバーロード」とかとか言われるから、「何それ?」ってことになっちゃうんじゃないのかな*1。(追記:だから日本語になっている「継承」だけが印象に残ってしまうんじゃないだろうか。本質とは関係ないのに。)

 ちゃんと日本語にすれば、その単語の正しい定義は知らなくてもなんとなく意味が通じるのにね。というか、そういう単語に訳すべきでしょ。

 だから「オブジェクト指向」も「対象志向」とかにしておけば良かったのに*2

*1:そういえばTRONはちゃんと日本語で言ってたのにね。なんで止めちゃったのかなぁ。あっちのほうが分かりやすいだろうに。

*2:というか「指向」って誤訳じゃないの?