Yahoo! JAPAN

ひろゆきがRubyの父・まつもとゆきひろに聞く「弟子募集しないんですか?」

エンジニアtype

ひろゆきがRubyの父・まつもとゆきひろに聞く「弟子募集しないんですか?」

ひろゆきの「僕ならこう作るね」

今回で3回目となるこちらの連載。1回目、2回目と若きエンジニアを論破してしまう回が続いたので「次回は論破しないひろゆきもみてみたい…」という気持ちに駆られてきた編集部一同。そこで、ひろゆきさんに聞いてみました。

エンジニアtype編集部:ひろゆきさん、今話してみたいエンジニアっていますか?

ひろゆきさん:まつもとゆきひろさんですかね。

エンジニアtype編集部:Rubyの父!ちなみに何を聞きたいんですか?

ひろゆきさん:自分が作った言語が沢山の人に使われ広がっていく感覚ってどんなだろうと思って。

エンジニアtype編集部:(予想外に純な質問…なんだかキュンとくるな…)なるほど、がってんです。

というわけで、今回は連載の番外編。ひろゆきさんがRubyの開発者であるまつもとゆきひろさんに聞きたいことを聞いちゃいました。

ちなみに二人は「2009年に開催されたCTO協会の飲み会で一緒だった」そう。下の写真はその時のもの。15年前にしては、お二人ともそんなにビジュアル変わってないような…

【写真左】
Rubyアソシエーション理事長
Ruby開発者
まつもと ゆきひろさん (@yukihiro_matz)
プログラミング言語Rubyの生みの親であり、一般財団法人Rubyアソシエーション理事長。株式会社ZOZOやLinkers株式会社、株式会社LIGなど複数社で技術顧問などを務めている。オープンソース、エンジニアのコミュニティ形成などを通じて、国内外のエンジニアの能力向上やモチベーションアップなどに貢献している。島根県松江市名誉市民
【写真右】
ひろゆきさん(@hirox246
本名・西村博之。1976年生まれ。99年にインターネットの匿名掲示板「2ちゃんねる」を開設し、管理人になる。東京プラス株式会社代表取締役、有限会社未来検索ブラジル取締役など、多くの企業に携わり、企画立案やサービス運営、プログラマーとしても活躍する。2005年に株式会社ニワンゴ取締役管理人に就任。06年、「ニコニコ動画」を開始し、大反響を呼ぶ。09年「2ちゃんねる」の譲渡を発表。15年に英語圏最大の匿名掲示板「4chan」の管理人に。フランス・パリ在住。著書に『働き方 完全無双』(大和書房)『論破力』(朝日新書)『プログラマーは世界をどう見ているのか』(SBクリエイティブ)『自分は自分、バカはバカ。 他人に振り回されない一人勝ちメンタル術』(SBクリエイティブ)『1%の努力』(ダイヤモンド社)など多数

目次

自分が作った言語が広まるってどんな感覚?開発言語って一つでよくない?言語の方向性や哲学で、判断が難しいことってありますか?まつもとさんがいなくなったらRubyどうなるの?~対談を終えて~

自分が作った言語が広まるってどんな感覚?

ひろゆきさん:(冒頭の写真が15年前だと伝えると)うは、、そんな前でしたっけ、、、

エンジニアtype編集部:らしいです。今回は「ひろゆきさんがまつもとさんに聞いてみたいこと」がテーマです!

ひろゆきさん:そうですねー。自分の作った言語が広がっていくってどんな感覚だろうっていうのは気になります。

まつもとゆきひろさん:一人の技術者としては「自分の子供が活躍してくれて嬉しい」という感覚に近いと思います。イチローに対するチチローの気持ちと言うか。

エンジニアtype編集部:チチローですか。

まつもとゆきひろさん:Rubyは個人的な技術好奇心から誕生したものですし、「思ったより良いものができたから世間におすそ分けしよう」くらいの感覚でインターネットで公開しましたから特に野望があったわけではありません。

ひろゆきさん:オープンソースソフトウェア(以下、OSS)は、広まった=売上げや収入が増えるような経済的成功は伴いませんしね。

まつもとゆきひろさん:ただ、ユーザーが増えて、コミュニティが成長すると「Rubyを好きな人」とか「Rubyで人生が(ほとんどの場合良い方向に)変わった人」とかが増えて、それはそれで嬉しいですね。

ひろゆきさん:確かに。

まつもとゆきひろさん:Rubyやそのコミュニティのおかげで、私自身のスキルが伸びたり、知名度を得て仕事につながったりしたのも予想外の効果でした。

もっとも他人の人生に予想以上に大きな影響を与えてしまうことは怖いことでもありますが。

ひろゆきさん:やっぱりそこは怖さもあるんですね。

まつもとゆきひろさん:それとは別に、Rubyが広まるにつれ、「社会的責任」などを押し付けようとする人が多いのにはうんざりしています。

OSSは無保証のライセンスを付け、無償で自由に使ってもらっているものなのに。責任や保証を求める人が多いのは驚きです。

エンジニアtype編集部:もしユーザーに利用者の責任を伝えるとしたら、どんなことを伝えますか?

まつもとゆきひろさん:「無保証」です。OSSにそもそも責任などありませんから。責任がほしければ、別途有償で対応してくれるところを探すしかないですね。

開発言語って一つでよくない?

ひろゆきさん:ちなみに、プログラム言語の多様性って必要ですかね?

エンジニアtype編集部:多様性…ですか?

ひろゆきさん:「全部C++とかpythonでいいじゃないすか?」って言われたらまつもとさんはなんて答えるんだろーと思って。

世界中の人が一つの言葉を喋った方が便利じゃんというバベルの塔にも通ずる話で…

まつもとゆきひろさん:必要か必要でないかといえば、必要ではないですね。

エンジニアtype編集部:えっ…

まつもとゆきひろさん:ただ、現状たくさんある言語の多様性の解消は現実的ではないと思います。

まつもとゆきひろさん:プログラミング言語の世界では、チューリング完全という性質を持つ言語ではありとあらゆるアルゴリズムが記述可能であることが証明されています。

ということは、例えばC++で記述できるプログラムは原理的にはRubyなりPythonなりでも記述できるわけですね。だから、多様性の排除あるいは言語の統一は原理的には可能です。

ひろゆきさん:なるほど。

まつもとゆきひろさん:しかし、これはあくまでも原理的な話。実際に統一しようとすると困難が立ちはだかります。

ひろゆきさん:具体的に知りたいです。

まつもとゆきひろさん最初の困難は、人間の心理的抵抗です。多くの人は今使っている言語に執着して、言語間の移行を好まない傾向があります。「今まで習ってきたことを捨てて、新しいものに移れ」と言われて素直に従う人ばかりではないですよね。

まつもとゆきひろさん第2の困難は、言語の特質です。原理的には可能と言っても、言語毎に違いや得意・不得意があります。統一すれば、不得意な部分もひとつの言語で記述する必要があります。それは結果的に生産性を下げることになり、本末転倒です。

エンジニアtype編集部:うぅ、、、想像できます。

ひろゆきさん:じゃあ、不得意のない万能言語を作ればいい、とか?

まつもとゆきひろさん:それもなかなか簡単ではありません。過去にそのような言語を作ろうという試みはありましたが(PL/IとかAdaとか)、いずれもうまくいっていません。結局、また別の言語ができて多様性が増加する結果に終わってしまっていますね。

エンジニアtype編集部:試みはあったんですね。

まつもとゆきひろさん第3の困難は、資産です。プログラミング言語は言語だけで成立するわけではなく、その言語に伴うライブラリ、フレームワーク、ノウハウ、コミュニティなどの「資産」があってはじめて価値があります。

例えば、Ruby on Railsやたくさんのライブラリの存在がなかったら、誰もRubyを選ばないかもしれません。

ひろゆきさん:あーなるほど。

まつもとゆきひろさん:よその言語に移ったときには、今まで便利に使っていたそれらの資産を失うか、再構築するなどの苦労が発生します。今使っている言語で幸せな人にとっては、多様性の除去は余計な苦労を発生させるだけなんです。

まつもとゆきひろさん:英語で苦労したりするときに「世界中の人が一つの言葉を喋ったほうが便利じゃん」とは必ず思うことなのですが、実際に統一しようとすると困難なことだらけです。

エスペラントも成功しているとは言い難いですし。それと同じようにプログラミング言語の統一も困難じゃないでしょうか。

ひろゆきさん:感情的には難しいのは分かります。ただ、AppleとGoogleがスマホアプリを書ける言語を統一して「他の言語のアプリは審査を通しません」とかやると可能なのかなぁ、、と思ったり、、

まつもとゆきひろさん:スマホアプリの世界は、AndroidはJava(またはKotlinなどのJVM言語)、iOSはSwift(またはObjective-C)で既にある程度統一していますね。

それでも、少数派ですが、それ以外の言語を使う人はいなくなっていませんし、スマホアプリ以外の世界ではいまだに数多くの言語が使われていて減る傾向はありません。実際、Rubyを使ってiOSアプリを開発している人もいます。

「感情的に難しい」とおっしゃったのは慧眼で、ソフトウェア開発では結局、純粋技術的な理由だけではなく、好き嫌いなどの情緒的な要素は無視できないのです。

エンジニアtype編集部:情緒的な要素ですか。

まつもとゆきひろさん:結局は人間が開発しているからなんですかね。興味深いのは人間は「言語を統一したい欲」と「自分の言語に固執したい欲」の両方を同時に持つ点ですね。そして、それぞれの人が別々の「自分の言語」を持つ以上、統一のほうがうまくいかないみたいです。

私が日本語話者だからといって「世界の言語を日本語で統一しよう」と叫んでも誰も本気で相手にしないのと構図は似ているかもしれません。

人間の言語の多様性は近年減少しているようですから、何十年あるいは何百年もかければプログラミング言語も少しは多様性が減る未来があるかもしれません。

言語の方向性や哲学で、判断が難しいことってありますか?

ひろゆきさん:Rubyは複数のコミッターがいると思いますが、言語の方向性や哲学とかで、判断難しいことってあったりしますか?

OSだと、モノリシックカーネルとマイクロカーネルでどちらに進むか?とか、正解があるわけではない分かれ道が、結構あるのかなぁ、、と。

まつもとゆきひろさん:言語デザインや方向性、哲学などに関しては原則として私が決めています。間違えたときの責めも私が引き受けます。

ひろゆきさん:へぇ~。

まつもとゆきひろさん:もちろんいろいろな意見を聞きますが、最終判断は私がしますし、コミュニティとしてもそれを尊重してもらっています。いわゆる「優しい独裁者」モデルですね。

エンジニアtype編集部:全部まつもとさんが決めてるんですね。失敗したなという決断とかってあるんでしょうか?

まつもとゆきひろさん:失敗した判断といえば、Perlの真似をしすぎた点ですね。Rubyを最初に設計していた頃はPerl言語の全盛期で、RubyのデザインではPerlをだいぶ参考にしました。ですが、ちょっとやりすぎてプログラムが読みにくくなってるところがあります。

もうちょっとキレイにデザインできたような気がします。あとはThreadの導入ですね。当時はまだコンピューターのマルチコア化が行われていなかったので、シングルコア前提で設計してしまいました。これは良くなかったなあと反省しています。

ひろゆきさん:「優しい独裁者」モデルで不都合とかないですか?

まつもとゆきひろさん:ありますよ。私は永遠には生きられない、ということです。

ひろゆきさん:後継者どうする問題ですね。

まつもとゆきひろさん:これには頭を悩ませています。なかなか「まつもとに代わってやる、下剋上だ」という人はいないんですよねえ。

ひろゆきさん:そういう課題にぶつかって、委員会方式に移行した言語もありますよね?

まつもとゆきひろさん:ありますね。Rubyもそうせざるを得ないかなあと思いつつ、言語の独自性や魅力を維持するためには、個性を消しがちな委員会制度は相性が悪そうで悩んでいます。

ひろゆきさん:個性とこだわりが無ければ、新しい言語を作る話にもならないですしね。

エンジニアtype編集部:まつもとさんの考える「Rubyの個性」はどのようなところにあるんでしょうか?

まつもとゆきひろさんプログラミングの楽しい側面にフォーカスできる点だと思います。管理よりも自由、束縛よりは解放、規律よりも試行錯誤を重視してます。

ひろゆきさん:ちなみに、もともとは個性があったのに委員会制度を採用した結果、個性がなくなってしまった言語ってあるんですか?

まつもとゆきひろさん:JavaScriptとかはそんな感じでしょうね。オリジナル開発者(Brendan Eich)が手を引いて随分経ちますが、オリジナルの方向性とはだいぶ違う気がします。

一方、PHPやPythonでは委員会制になってもあまり変わってない気がしますね。

まつもとさんがいなくなったらRubyどうなるの?

ひろゆきさん:後任を育てるみたいにはならないものなんすかね?

まつもとゆきひろさん:通常ならそうなるでしょうね。

ただ、
●自発参加のボランティアは手を上げる人がいないと進まない(進めたくない)
●オープンソースには「業務命令」みたいなものはない
●現状手を上げる人はいない
という感じで、どうしようかなと悩んでいるところです。

私自身、自分でプログラムを書いたり、人に任せたりするのはともかく、人を育てるのは苦手ですし。

ひろゆきさん:まつもとさんが弟子募集とかやったら、すげー人数が集まりそうですけどね。

まつもとゆきひろさん:集まるかもしれませんが、そもそも弟子育成や教育に興味がないのでやりたくないんですよ。

ひろゆきさん:わかるー、、育てる気にならないんですよねぇ、、

そしたらもう、聖書とかコーランみたいに「まつもと哲学」の指針が残されて教条化したりするしかないんすかね、、、

まつもとゆきひろさん:私の書いた文章は大量に存在するので、それを喰わせて学習させた「まつもとAI」にRubyの設計を任せられる未来が来るかもしれません。眉唾ですが…

~対談を終えて~

対談途中、まつもとさんへ「現在いるRubyコミッターの中で、“この人なら任せられそう”という方っていらっしゃるんですか?」と聞いたところ・・・

「頭に浮かぶ人が数人はいます。ただ、いずれも後継者になりたいと思ってはいないようで、本人にも伝えていません」(まつもとゆきひろさん)

だそうです!!!

ちなみにこの数人には日本人もいれば海外の人もいるそう(日本人のほうが多いそうですが)。勝手ながら「第二のまつもとゆきひろ」が出てくることにも期待したくなりました!

まつもとさん写真/桑原美樹、ひろゆきさん写真/赤松洋太、編集/玉城智子(編集部)

【関連記事】

おすすめの記事