Ruby 講演会

今日は、Ruby のまつもとさんの講演会。で、研究室のミーティングが中止になりましたと。

あんまり勝手にここで内容に関してふれていいのか悪いのか分かりませんが、なんというか思ってたより(?)ふつうだった。なんとなぁく、感じた違和感は、つまるところまつもとさん自身が ML や Haskell といった類の型推論系言語を実際に使ったことがない(っぽい)という点だったのだろうか。でも、まぁ、Ruby が書きやすいというのは、基本的には同意できる。それにしても、あれだ。割りと一般向けっぽいスライドだったが、あの場にいた”聴衆”がいかに変な人たちかと。つまり、その場にいた全員が Scheme インタプリタを作ったことがあり、4年生以上が OCaml インタプリタを作ったことがあり、さらに 1/3 が OCaml コンパイラを書いたことがあり、そして数人は普段から OCaml でプログラムをかいている、そういう集団。”変”な質問が飛ばなかったのが意外。あー、でも情報系学生ならインタプリタくらいはふつうか。OCaml ってところがミソ。たぶん。

あの手の話を聞くといつも分からなくなるのが、「オブジェクト指向」と「関数型」。過去に何度も話題に上ったが、結局どういう意味なのか議論すればするほど分からなくなる。オブジェクト指向といったら polymorphism であり、関数型といったら高階関数である、みたいな説明を受けると(よくそういう説明を受けますが)、変な違和感を感じてしまいます。個人的には、OO といったら設計のことを思い浮かべて、関数型といったら参照透過を思い浮かべるのですけどね。しかし、それもなんか違う気がします。明快で納得いく説明が欲しい。