tenjuu99(天重誠二)'s avatar
tenjuu99(天重誠二)

@tenjuu99@hollo.tenjuu.net

OOPが英語的かどうか気にしたことなかったけど、こう考えるとあきらかに英語的な言語で、自然言語とプログラミング言語の類比関係みたいなことを考えるときに「自然言語」として暗に考えられているのって英語なんだな...。

tenjuu99(天重誠二)'s avatar
tenjuu99(天重誠二)

@tenjuu99@hollo.tenjuu.net · Reply to pokarim's post

@pokarim 自分も、関数だろうとOOPだろうと道具立てがそんなに変わるわけではないでしょう、とおもっていたのですが、細かく検証すると意外と関係あるかも...と思ってきました。そもそも、テストコードを「<主語>は<述語>する」みたいに把握していたこと自体が、OOP的カルチャーからでてきたんじゃないかと思いはじめています。

AIに構文ギャップについて聞いてみたら、それは考えられるという話で、関数のほうで考えると verb(subject) みたいな関係になるよね、という話で、こうなると「ドメイン」という言葉も「定義域=関数の引数が取り得る幅」として捉えなおしたほうがいいのではないか...などという話になりました。たしかに、これは「パラダイムが異なる」と言うにふさわしいなと、いまさら考えています。

tenjuu99(天重誠二)'s avatar
tenjuu99(天重誠二)

@tenjuu99@hollo.tenjuu.net · Reply to tenjuu99(天重誠二)'s post

実際におそらくアラン・ケイらが当初Smalltalkを作ったときに考慮していたのは言語との類似性だったはずで、ケイがメッセージングこそ偉大なアイデアだったのだというのは完全に後付けの話であるのは疑わない。「自然言語」と類似したものとしてプログラミング言語の設計がおこなわれたのが、OOPのはじまりなんだとおもう(ダン・インガルスの資料とか読んでいるとそうだとおもう)。