「社会的責任」からじゃない。趣味でつくって、おすそ分け。Innovator#0101Computerまつもとゆきひろ「社会的責任」からじゃない。趣味でつくって、おすそ分け。1993年に開発が始まってから、四半世紀。ひとりのエンジニアがつくりあげたプログラミング言語「Ruby(ルビー)」は25年かけて、世界的なSNSや映像配信サーヴィス、民泊サイトなどで採用される存在になった。日本発のプログラミング言語として初めての快挙──。開発者・まつもとゆきひろは、どこまでも飄々としている。社会に縛られぬ者は、いかにその社会に絶大なるインパクトをもたらすにいたったのか。コンピューター・サイエンスを学ぶ。卒業後、浜松や名古屋の企業をわたり歩きながらRubyの開発を進めた。Tweet「わたしは、同調圧力に対する感受性が弱いんです」──。自らの道のりを、にこやかに語っていた稀代のプログラマーは、ふとした瞬間、笑いながらこんなことをつぶやいた。プログラミング言語とは、コンピューターに仕事の順序を伝える手段である。確かにそうなのだが、彼の話を聞いていると、その専門性に収まりきらない言葉があちこちから飛び出してくる。プログラミング言語に魅せられたひとりの少年は、やがて世界から注目されるエンジニアになった。その軌跡から見えてくるのは、誰もなしえたことのないことをなす──そのために欠かせない“自由”の重要さだった。世界的に人気のプログラミング言語となったRubyは、プログラマー向けにさまざまな関連書籍が出版されている。2019優れた発想力と革新によって「新しい未来」をもたらすイノヴェイターたちを支えるべく、『WIRED』日本版とAudiが2016年にスタートしたプロジェクトの第4回。世界3カ国で展開されるグローバルプロジェクトにおいて、日本では世界に向けて世に問うべき"真のイノヴェイター"たちと、Audiがもたらすイノヴェイションを発信していきます。──プログラミング言語「Ruby」の開発を始められてから、今年で25周年を迎えました。いまや世界的に使われるようになったRubyというプログラミング言語は、いったいどのような性質をもっているのでしょうか。前提として、専門用語でいうところの「チューリング完全」という条件さえ満たしていれば、ほとんどのプログラミング言語は同じアルゴリズムを記述することができるんです。基本的にどんなプログラムでも、ひとつのプログラミング言語で書くことができる。その一方でプログラムを書くときに、われわれ人間にはふたつの限界があるんです。ひとつはコストの問題。コストを無限にかけることはできませんよね。ひとつは人間の理解力、認知の問題です。人は、ある程度以上の複雑なものは、そのまま理解することができない。複雑なものは整理し、難しいところはうまく隠して、概略だけで話ができるようにする。これをプログラムの世界では「抽象化」といいますが、その道具のひとつがプログラミング言語であり、この扱いやすさに重点を置いているのがRubyなんです。──プログラマーに対して優しいプログラミング言語、といった趣旨の発言はこれまでもありましたね。自分がプログラムを書くときに楽であるようにつくった言語ですから(笑)。ほかのプログラミング言語と比べて、Rubyにしかない機能というのもほとんどありません。先人のさまざまな良いアイデアを、わたしなりに組み合わせた言語です。Rubyを用いれば、ソフトウェアの完成に至る時間を短くすることができる、そんな可能性をもっているプログラミング言語なんですね。Rubyは本来、インターネットの普及を想定した言語ではありませんでした。Rails」というWebアプリケーションを構築するためのフレームワークが登場して[編註:Rubyを用いてデンマークのプログラマーによって書かれた]、そこからウェブで広く使われ、人気が高まっていきました。──そもそも、なぜRubyの開発に至ったのでしょうか。プログラミングを始めたのは中学生のときです。父親が買ってきたポケットコンピューターを使っていたんですが、1980年代の小さなコンピューターですから、機能が本当にプア(貧弱)でした。最初に扱った「BASIC」というプログラミング言語も、変数の制約が本当に厳しくて。それが当たり前だと思いつつ、「なんでこんなに辛いんだろう」と思っていました(笑)。それから高校生にかけて本を読むうちに、世の中にはさまざまな種類のプログラミング言語があることを知っていったんです。そこから、「プログラミングをどう表現するか」に興味が移っていきました。普通でしたら、例えば雑誌に載っているプログラムを打ち込んでゲームをやりたい、といった目的があるのだと思いますが、わたしはむしろ手段が目的化していったところがあります。プログラミング言語には、それをつくった人がいる。自分がつくってもいいんじゃないか、と。まつもとゆきひろが開発したプログラミング言語「Ruby」は、2018年で誕生から25年を迎えた。まつもとは気負うことなく、どこまでも飄々としている。NISHIDA──プログラミング言語自体を開発する、現在までの道のりのスタートですね。いえ、先ほど説明したように環境の制約が厳しかったですし、いまのようなインターネットもなかったですから、“つくる”ことに関しては一度挫折しまして。ノートに「ぼくが考える最強のプログラミング言語」のようなものを書いていた覚えはありますね(笑)。大学に入ってコンピューター・サイエンスを専攻し、プログラミング言語を使う勉強は楽しく続けていました。4年生で研究室に入ったときに“つくる”熱が再燃して、ひとつプログラミング言語をつくったりしていましたね。──卒業後は浜松の企業に就職されましたね。東京の通勤地獄が嫌だったとか。東京を避けて、ソフトハウス(ソフトウェアの開発企業)に勤めました。バブル期の後半、まだイケイケのころでしたから、同期が200人いましたね。社内ツールの開発をしていたのですが、バブルが弾けて景気が悪くなると、開発チームは解散となり、わたしはすでに使われていた社内ツールのメンテナンス要員となりました。いっても、たまに社員から電話がかかってきて「動かないんだけど」「そうですか。再起動してください」と言うだけです(笑)上司も忙しく、わたしはほったらかしの状態で。プログラミングを始めるんですね(笑)。「ああ、そういえば言語をつくりたいと思っていたよなあ。いまならスキルも上がったし、できるかも」と思ってつくりはじめたのが、Rubyだったんです。1993年のことでした。──先ほど話されていたRubyの方向性は、当初から決まっていたのでしょうか。将来、コンピューターがプログラミングする時代が訪れたら、プログラミング言語は使わないと思うんです。「複雑さをとらえきれない」という限界がなく、概念をそのまま把握できますから。わたしたちは脳の働きや心理といったさまざまな能力の制約をもっています。それらの制約のなかにある人間がプログラミングすることを支援できるプログラミング言語をつくりたい、と。Rubyでは本質的に複雑なことを、いかに人間の認知力が上がったかのように見せかけ、プログラマーの満足度を高めるか。コンピューターと人間の間のインターフェイスとしてのデザインは、プログラミング言語の醍醐味ですね。──AI(人工知能)が現在のように注目されるようになるずっと前から、人間とコンピューターの“接点”を考え続けてきたわけですね。コンピューターと人間のかかわりの本質的な部分は、当時から驚くほど変わっていない、という印象があります。──その後、名古屋の企業に転職し、95年にRubyを公開することになりましたね。インターネットで公開された当時、数年は興味をもってくれる人がいても、だんだんとネットの闇に消えていくんじゃないかと思っていました。個人がつくったプログラミング言語が公開されること自体は、そんなに珍しいことではありませんから。意外と反響がありまして。メーリングリストをつくったら、2週間で200人ぐらい集まったんです。わたしの予想をだいぶ超えていました。海外ではTwitterやAirbnb、国内ではクックパッドなどがサーヴィスの開発などにRubyを採用していることで知られる。NISHIDA──97年には、現在も所属されている島根県松江市の企業に移られます。それから先ほど触れたウェブの世界での注目につながり、Rubyの普及に注力する現在に至るわけですね。友人の起業に合流するかたちで松江に移り、その後は周囲の理解もあって、それまでのサイドジョブではなく、だんだんとRubyに活動の中心を移していきました。──それにしても、ひとりの感性でつくったものが、一気にグローバル化していくということは、考えてみれば不思議です。開発において意思決定をしている人が少ないソフトウェアのほうが、出来がいいといわれる傾向にありますね。実際問題わたしにできることは、ある一貫性とポリシーをもってRubyを提供することだけです。それが世の同意を得るかどうか、世間の反応は予測不可能ですからね。──とはいえ、マーケティングなどの視座によって、そのポリシーが左右されることもあるのでは?いや、Rubyはあくまで趣味でつくったオープン・ソース・ソフトウェア(OSS)なので。最初の数年は、別にポシャッても構わないと思っていました。「わたしが趣味でつくりました。インターネットの皆さん、どうぞおすそ分けです」ということですから。すごいマーケティングの予算が費やされ、このプロジェクトが成功するかどうかに社運がかかっています、というようなプロダクトでは失敗はできないし、そのための方策を考えないといけません。Rubyにはそういうものはいらないんです。わたしの好きなように進めて、世に問うしかやることがない。実はわたしは、社会的責任という言葉を拒否するようにしているんですよ(笑)。Rubyはあくまで、わたしがつくったものをおすそ分けしているOSSであるという構図です。それは誰もRubyを知らなかった90年代半ばから変わっていないし、変えていません。確かに社会的なインパクトは大きくなっていますし、Rubyを使っている人たちは、ある意味でわたしの子どもを一緒に見てくれている仲間だと思っていますから、わたしが何かして迷惑をかけることはしたくありません。Rubyそのものに関しても、パフォーマンスを向上させたり、機能を追加したりする一方で、すでに多くのソフトウェアに使われている。なると当然のことながら、互換性と安定性も維持しなければなりません。相反することを同時に、一生をかけて進める......長く続く一本橋のようです(笑)しかし、それを「社会的責任」と、義務を伴うように言われるのは違うと感じますね。プリミティヴな「趣味でつくっておすそ分け」という構図を捨てたくない。まつもとは取材当日、Rubyの主力ユーザー企業であるクックパッドを訪れ、Rubyの主要な開発メンバーでコミッターとして知られる同社の笹田耕一とともにオンラインミーティングに臨んでいた。NISHIDA──それを捨てると、逆に何が失われますか?たぶん、モチヴェイションが失われますね(笑)。わたしのもっているリソースは、モチヴェイションだけですから。──しかし、何も保障されていない道を進むことに、不安は抱きませんか?いや、その「何か保障されている」という感覚が幻想だと思います。わたしはRubyのことを専業にする前にいた会社では、クライアントの依頼で数多くのソフトウェアを開発しましたが、正直、残っているものはほぼありません。互いに価値があると思っていましたが、長い目で見たらゼロだった。何億円もかけてゴミ箱行きになったものもあります。価値がゼロだと思われていたRubyは、25年が経っても残っているんです。ここ10年ほど、若い人を相手に話をする機会が増え、わたし自身もこう考えるようになってきました。withAwardedInnovator20Technology村井純インターネットの父、戦いの歴史。“アンワイアード”な現在に思うこと。