英語とオブジェクト指向
新人エンジニア向けにJavaの研修をしていて思いました。
「オブジェクト指向と英語」の発想には共通点があるのではないかと。
それが日本人にオブジェクト指向型言語の習得を困難にしているのかもしれません。
英語にあって日本語にないものに単数形と複数形があります。
a pen と some pens の違いです。
例えば、furnitureは複数形にすることができません。
a furniture や some furnitures と言うことはできないのです。
a chair や some tables とは違うのです。
なぜならば家具という概念だからです。
ちょうどオブジェクト指向で言えば抽象クラスのような純粋な概念で、実体化できないものです。
オブジェクト指向のクラスとインスタンス、is-a関係でも同じような話があります。
クラスは型、インスタンスは実体です。
というこの説明がなかなか分かりづらいようです。
日本語では、家具が抽象概念なのか、具体的な実体なのかあまり区別せずに使っている(使うことができる)ためなのかもしれません。
という訳で、プログラミングも英語で学ぶと少し楽になるのではないかと思う今日この頃です。