この間ヨーロッパ行ったら、行ってない国の方が少なくって。笹田:(笑)松本:ヨーロッパの地図見たら、だんだん塗りつぶされた数が増えてるっていう。東ヨーロッパは、まだ行ってない国は結構あるんだけど、それでもチェコもポーランドも行ったし。笹田:ポルトガル行きました?松本:ポルトガルはまだ。さっきの話だと、こういうふうにやると、言語作れるぜ、流行るぜ、という話だったけど、国際化ということに考えると、注意することって何かありますか。松本:えっと、言語のリーダーってのは、コミュニティリーダーに直結しがちなので、そこで、たとえば理不尽なものに対しては、どうとかですね。笹田:理不尽な参加者に対しての。松本:理不尽な参加者に対しての、こう、英語ではtrollって言うんだけど。あれに対して、そんなこと言わないで、みたいになだめるような。後ね、毎回気をつけているのは、フェア、公正公平であること。僕はRubyを作ったから、Rubyの中では一番偉い人ってことになってはいるんだけど(笑)、実際コミュニティの中に入ってきた人は分かるんだけど、実は僕はあんまり一番えらいって感じはいなくて(笑)。まつもとがまた変なことを言っているとか言われることもよくあるので(笑)。いう意味でいうと、公平なコミュニティ運営を心掛けていて。誰かが、いわゆる、ふとした思いつきを出しても、3年ROMれみたいなことを言うんじゃなくて(笑)。そのアイディアについては、真面目に返事をする。お前みたいな素人は口を出すな、みたいなことではなくて。笹田:寛容であるってことなんですかね。松本:寛容であるっていうか、フェアってことだよね。その人が、10年前にRubyコミュニティに参加しなかったのは、その人のせいではないじゃない。出会うかどうかの問題だから。松本:あなたは10年前に、Rubyの開発に参加してなかったから発言権はありませんって言われたら、それはフェアじゃないよね。僕がそう言われたくないからだけど。いうのを注意しておけば、こんなに大きいコミュニティができる。松本:...かどうかは運次第だけど。笹田:(笑)松本:まぁ、あとは出会いを大事にみたいなのはありますよね。Thomasが本を書いてくれたときに、本書くのにすっげーたくさんのメールを書いてきて、あれはどういうことだ、これはどういうことだって、すげーメール書いてきて。当時はあんまり英語は得意じゃなかったし、アップアップしながら返事書いたんだけど(笑)。そのとき、大変は大変だったけど、だけど、それがあるから、今のRubyがあるっていうのは、言い過ぎではないし、あと、たとえば、2001年に、デンマークのカンファレンンスに行ったときに、DHHに会ってるんだよね。笹田:おお、そうなんだ。松本:まだ学生だったんだけど。松本:で、それでプログラミング言語について、一生懸命しゃべった覚えがある。笹田:えっと、Rubyがこうだとか、彼から、なんでこうじゃないんだとかそういう?松本:Rubyのデザインについて話した覚えがあって。そのとき、彼はそのカンファレンスの学生ボランティアだったんだよね。PHPプログラマだったって言っていた気がするけれど。それぞれ同じカンファレンスに来て、そういう話をしたんだけど。僕は、実は正直忘れていて、後でDHHから、そのときの話を聞いたときに、おお、そういえば話したことが。あの人があなただったのね、みたいなことが。ま、それもやっぱり、お前みたいな素人が口出すな、みたいなことを言ったら、何くそRubyでなくてPythonでやるってなったかもしれないし(笑)。笹田:ファンを大事に(笑)。松本:ファンを大事に。貴重な存在だから(笑)。自分の作ったものに対して、関心を持ってくれると嬉しいので、それに対して口出すなみたいな言い方をするなと。松本:コミュニティの話をすると、あとは、GitHub以降は、ソーシャルコーディングが流行って、すごいスタートアップが早くなったってのがあるよね。新しいものが増えたときに、それを見つけるっていう点でも早くなった。笹田:社会的に、コーディングの速度が早くなった。Streemっていう言語を、去年の年末に作って。自分の作ったソースコードを、バックアップのつもりでGitHubのリポジトリにアップロードしたら、誰かが即見つけてきて(笑)。そのときの時点で、文法定義200行しかない、ゴミみたいなソフトなのに、それでもバズるっていうのがあって。Requestを送ってきたりとか。お前の構想している機能を俺が作ってやるみたいな人が出たりとか、そういうことがあって。それって、Rubyを作ったとき、1993年の公開前とか、あり得ない感じだったので。いう意味でいうと、ものすごい速い。笹田:どんどん公開した方がいいよってことですかね。松本:それね、今回そう思うようになったのが1つあって。オープンソースソフトウェアって、すごいたくさん、途中で挫折するやつがあるのね。GitHubとか見てても、コンパイルもできないじゃんみたいのが、結構たくさんあって、オープンソースソフトウェアがうまくいくには、実には、動くレベルまで持って行って、動くからこそ、みんなが話をするっていう風に、ずっと思ってたんだけど、Streemって、動かない時点からバズって、パッチ投げてくれるひともいたというところを見ると、結局、注目を浴びさえすれば...。笹田:プロモーションが大事。松本:プロモーションが大事なんじゃないかなという風なことを。Heroku入社以来、毎年リリースに変わったときに、この年の、このリリースの目玉はなんだ、っていうのを考えるようになって。それまでは、とりあえず思いついたものをどんどん入れて行って、リリースのタイミングで入ったら、それは目玉として言おうねっていう手順だったのが、逆に、今年の年末にリリースするから、これとこれは入れておかないと、何もしないと、何それみたいなことを言われるので。これとこれは入れて、変化しているということを示そうみたいなことを考えるようになったのが、ここ数年の、5年くらいの変化のような(笑)。笹田:プロモーション大事というのが、リリースに出てきた姿勢として。松本:気持ちが変わったのはある。コミュニティについて。処理系の話をしましょうか。この辺は面白いですよね。いろんな処理系の課題があるよねって話が書いてあって。この辺、mrubyでだいぶ解決した。松本:そうなんですよ。12年も経って、こんなものが。mrubyが出たのは2年前だから、10年経ってってことだね。笹田:インタプリタ初期化もできるようになったし、インタプリタの高速化もできるようになった。松本:できてるできてる。ネイティブスレッドは、実は対応してないんだよね。高速化はできてるので、スレッドに構造体を割り当てるのができるようになったし。笹田:それがまさにやったのが、Riteという名前をつけるものだったということですね(笑)。松本:Riteって名前をつけようと思ったんだけど、結局mrubyになりました。笹田:mrubyが、まさにそうなったと。笹田:ネイティブスレッド対応は、CRubyでやったので。松本:CRubyでやったね。笹田:適切かどうか分からないけど。松本:まぁ、いまね、インタプリタロックがどうとか言われてるけど。笹田:言われてますね。うーんと...バイトコード化と、新たなガーベッジコレクションの導入予定。実現した!松本:できましたね。この時点では、ささだくんはイメージできてたのか...。Riteが出てきたってことは、あんまあれなのかな。笹田:未踏の頃ですよ、たぶん。松本:でも、あの時点だとさ、できてたんだけど、取り込めるレベルまで届くかどうかは、確信持てなかったもんね(笑)...未踏、2003年だったっけ?笹田:2002ぐらいじゃないですか。松本:2002年だっけ。...あ、僕の未踏?僕の未踏は2000年。笹田:だから、それの流れじゃないですか、この話は。私が作り始めたのは、2004年だもん。松本:2004年に作り始めた。これは、その時点ではYARVはないんだ。...ええと、この辺の課題は、大体で終わってる感じがしますね。実装については、言ったことはちゃんとやったみたいな感じ。笹田:じゃあ、今後の課題を。松本:この時点で、予想はできてなかったことうちの1つは、普通のコンピュータのコア数が、ここまで増えるとは思ってなくて。デュアルコア、クアッドコア、下手すると、オクタコアみたいなのが、普通のコンピュータにあるので、8個のスレッドを活用しないと損するみたいな(笑)ところについては十分予想ができなかったってのがあって。1つは、それも関係するかもしれないけど、ハイトラフィックなところ。笹田:ハイトラフィック。松本:当時から、当然Webサイトはあったんだけど、ほとんどのWebサイトって、月間アクセス数5,000件とか(笑)そんな感じだから、ここもそんなに関係ないと思っていた。なんだけど、今だと5,000アクセスとか秒単位で終わってしまう感じがあって。