エンベデッド環境でのオブジェクト指向プログラミングにはリアルタイムガーベジコレクションが必須です。

数学を勉強すると、とりあえず、「僕には数学は無理だ」と、いうような結論になってしまうのだけど、それはおいといて、数学用語には、素晴らしい日本語訳があるというような気がしたというような。
例えば、functionは関数…関数!!この命名センスはいかほどのものか?
最初に関数っていう単語を適用した人間の日本語センスは大変に素晴らしいもののように感じる。数学のセンスを持ちながらも、日本語のセンスを持ち合わせていただろう命名者に嫉妬する。(というようなことはないけど)


他にも、いくらでもそういう例を挙げることができると思う。
dot product…内積。cross product…外積。こんなのどうやったら思い付くんだ!


しかし、こっちの世界、プログラミングのほうはどうだ?
スタティックメソッドはクラスのインスタンスを作らなくてもインヴォウクすることができます。だと?普通の人はインヴォウクなんて言わないよ!(普通じゃない人も言わない)
まったく、カタカナの氾濫もいいところだ。


メソッドと関数の違いが言えますか?はい、言えます。英語と日本語という点が違います。


でも、まあ、こうなった原因はしかたないというか、数学の場合は、日本語訳の命名権が、ごく限られた人数の手でコントロールできたからこそ実現できた、とかそんな感じだと予想。


まず、ある分野の第一人者が、なんか、本を出すなり、日本語訳を出すなり、論文を出すなりした場合、しばらくの間は、「日本語のバイブルであり、かつ、唯一の資料」といった感じになる、と。
結果として、用語の日本語訳は、ごく限られた人によって行われて、全体として統一のある、優れた日本語訳が生まれたんだろう。知らんけど。


それに対して、プログラミングのほうは、誰でも簡単に英語の原典を読むことが可能だったというのが違う部分なんではないかと。
プログラミングはネットワーク環境の発展とともに発展してきた部分もあって、日本語のバイブルがあったとしても、それをスキップして、いきなり英語の原典にあたることができる。
結果、Aさんは、「ABC」を「いろは」と訳し、Bさんは「ABC」を「あいう」と訳す、というような状況が生まれる。
そうなると、どちらか、もしくは、両方が、「なにーこの翻訳!きんもー☆」というような感じに。


そうなることを避けるために、「ABC」というのは、そのまま「ABC」もしくは、「エービーシー」というような表記になったりならなかったりするんだろう。多分んんん。


けど、実際のところ、英語の資料を調べることを考えれば、そのままカタカナで書いてあったほうがわかりやすいというか、「全射」と「単射」って英語でなんて言うんかい?とか考えるよりも、「ガーベージコレクション」って書いてあったほうが色々便利だろう、とか、まあ、風情が無くてつまらないけど。


つまり、まとめると、カスタマーのニーズをトレースした結果が全体としてのコアコンピテンシとなって、サプライヤとのマッチによるシナジー効果で、コミットメントに成功したといったところだろうか。