松本:モジュール的な。機能のモジュール化としての、単位としての、オブジェクト。笹田:オブジェクト指向は適切である。みたいなタイプの関数型言語が、非常に普及してきて、概念もよく理解されるようになった。副作用をどう制御するのかっていうのが、重要なテーマになってきている。笹田:オブジェクト指向と、副作用云々は、独立な話だと思うんですけどね。松本:これが難しいところで、つまり、アイデンティティの話で。笹田:あ、分かります。制御するのかというのが、ああいう世界だと思っていて。許さないっていう世界とはバッティングするよねっていうのと。笹田:いくつかの言語では、それを両立できていると思うけれど。変更は毎回別のオブジェクトを作る、とか。松本:オブジェクト指向は、そんなに大したものではないと思うので、オブジェクト指向っぽく見えれば、それでいいと思うんだけど。なんか、変更の単位が小さく見えればいいっていう。それでいいと思うんだけど。毎回新しいものを作るっていうモデルが、馴染むかどうか、よく分からないところがあって。オブジェクト指向が有効に適用されるといった、たとえば、GUIツールキットみたいな話だと。ウィンドウが、もう1個できるのか、とか(笑)。新しいオブジェクトを作ったときに、同じオブジェクトを指してるよねっていう。同じ画面上の、仮想的なものを指しているよねってなったりすると。笹田:関数型で考えると、状態が変わったら、まったく新しい世界ができるっていうことですよね。松本:やり方によって、いろいろだと思うけどね。ストリームタイプのものもあって。ユーザのインプットが、全部ストリームとして中に入ってきますと。画面への出力は、全部ストリームして外へ出て行きますという感じのものも、当然あるわけで。笹田:JavaScriptなんかだと、最近はそういう風に作ろうとしている感じがしますね。Reactとかそんな感じだよね。全部がーんと出しちゃって、それに応じて、変更された分だけ、アップデートする形を、処理系の中で持っているという感じではあるけど。2015年現在では、オブジェクト指向は主流になったので、どうでもいいっていうか、あって当たり前なんだけど。2015年時点でいうと、関数型の普及期に入ってきていて、ただ、オブジェクト指向が素直に扱うことができた問題が、素直に扱えないものがあるので、それをどうするのかというのが課題で。笹田:素直に扱えないって、なんですか?松本:今言ったけど、毎回世界が置き換わるって、どういうことよ、画面上のウィンドウは変わらないじゃんっていう。笹田:関数型にすると、なかなか難しいけど、オブジェクト指向だったら、今までできたことじゃないの、と。あれ、オブジェクト指向だと、なかなかできないって話じゃなかったっけ。松本:オブジェクト指向でやりづらいことって、実はあまりないんだよね。笹田:なんでもできる。それは、アセンブラがなんでもできるっていうのと同じだから。関数型の方が抽象度が高いので、その抽象化のモデルが我々の脳内に持っているモデルと、必ずしも合致していない。現時点では合致していないので、それが我々の脳内モデルが進化するのか(笑)プログラミングモデルが進化するのか分からないけど。何かもう一歩必要なのではないかなと思っているっていう感じ。松本:そんなふうな未来が来たら、もしかしたら、オブジェクト指向はいらないって話になるかもしれないけど。Language)かな。「Rubyの真実」を読み返して思ったんだけど、日本のコンピュータサイエンス、プログラミングが始まるようになってから、過去50年ぐらいの間、さまざまな試みが行われて。ないのはどういうことかっていうのを、書きながら思っていたのを思い出した。いうふうにしたら、次の言語ができるかもよ、という意味も込めたつもりがあったような気がするのよ。笹田:全然乗ってきてないね(笑)松本:誰も乗ってこないのは、どういうことなんだろうねぇ。それがね、今一番、多分言いたいことだと思う(笑)。1つしかないのは不健全で。1つや2つ出てきてもいいと思うんだけど。いろいろな事情があると思うんだけど。アカデミックなことだけを前面に出してデザインするといかんから、非本質であるみたいなことを、次の言語のデザイナーに、ヒントとして出したつもりがあったということを、読みながら思い出した。なんだけど、明確に書かなかったせいか、誰も乗ってこなくて(笑)。笹田:あー、今だと、それこそ、いろいろな知見があって、Rubyにもいろいろと足りない点が分かってきた。笹田:なので、今はチャンスだと。松本:ねぇ、だから新しい言語が来てほしいし、来るべきだと思ってるのね。それが、たとえば、言語の当たり年の95年から、今までの間、言語の氷河期みたいな時代だった、っていうなら、まだ分かるんだけど。出しても出しても上手くいかないと。プログラミング言語出てきているのに、日本から来ないんだよな。笹田:個人が出してるのは、あんまりないと思いますよ。個人から出して流行ったのって。CoffieScript笹田:あれ、個人なんだ。笹田:プロダクトに上手く当たったっていうことですね。松本:もちろん、DartとかGoとか、TypeScriptとかは企業からだけど。松本:Scalaはね、割と個人が大きいと思うけどな。オデスキー先生、結構自分でデザインしてるし。あと、Clojureもそうだよね。