• はてなブックマークに追加
  • Yahoo!ブックマークに登録
我ら“クレイジーエンジニア”主義 vol.19 世界に知られるオープンソース言語 「Ruby」を作った、まつもとゆきひろ
今や世界に知られるオープンソースのプログラミング言語「Ruby」を開発した、まつもとゆきひろ氏。シンプルで利便性に優れたオブジェクト指向のスクリプト言語は、世界各国のプログラマたちに愛用されている。カリスマプログラマを生んだ背景とは?
(取材・文/上阪徹 総研スタッフ/宮みゆき 撮影/栗原克己)作成日:07.02.14
クレイジー☆エンジニア
(株)ネットワーク応用通信研究所
基盤研究グループ 特別研究員
まつもとゆきひろ氏
 オープンソースソフトウェア技術者として最も成功した日本人は誰か?という質問をプログラマにしたとするならば、多くの人が、この人物の名前を口にするであろう、まつもとゆきひろ氏。オブジェクト指向スクリプト言語「Ruby」の開発者である。自ら作ったソフトウェアが、国内はもちろんのこと、今や海外でも広く使われている。こんなエンジニアは、おそらく日本では彼くらいではないだろうか。実際、海外では、Matzのニックネームで通っているのが、まつもと氏なのだ。「Ruby」の特色は、シンプルで利便性に富んでいること。世界中のプログラマの心をつかんだソフトを生んだことはもちろん驚きだが、彼が開発をスタートさせた1993年、実はソフトハウスに勤務する一介のサラリーマンプログラマだったのだ。そしてもっと驚くべきは、彼が実は高校生のころから、プログラム言語を自分で作ることを考えていたことである。
高校時代、既に自分のデザインした言語でのプログラムを書いていた
 コンピュータとの最初の出合いは、小学校6年生のとき。父親が買ってきたポケットコンピュータ「L-Kit16」でした。といっても、コンピュータなんて認識はなくて、ダンプリストを打ち込んで、LEDが光るのを見て喜ぶ程度でしたけど。それから中学3年で、また父親が今度はシャープのポケットコンピュータ「PC-1210」を買ってきたんですよね。ここで初めてプログラミングというものを知るんです。機械にこう命令すると、こう動くんだ、と。BASICを理解して、サンプルを打ち込んだりして。面白かった。父親は、建材関係の会社に勤める普通のサラリーマンでした。実はポケットコンピュータは、会社の事務計算に役立てようとしてたようなんですが、僕が取り上げてオモチャにしてしまった(笑)。

 子どものころといえば、とにかく本をよく読んでいました。というのも、家の目の前が本屋さんだったから。ずっと本屋にいたので、あるとき友だちが遊びに来て家に入れようとすると、「お前の家はあっちじゃないのか」と本屋を指さされたりして(笑)。SFでもマンガでも何でも読みました。活字が好きだったんですよね。それこそ、百科事典も頭から全部読んだし、薬の説明書も読んでた。

 高校に入ってからは、コンピュータへの関心が高まって、コンピュータ雑誌にのめり込みました。自分が考えたとおりにコンピュータが動くのが面白かったんです。既に、持っていたコンピュータの性能に不満を持っていました。特にプログラミング言語に興味があって。どうも、アセンブラは好きになれないなぁ、とか。BASICでプログラミング言語は作る気になれない、とか(笑)。それで、自分でプログラミング言語を作ろうと思い始めていたんです。実際、自分のデザインした言語でノートにプログラムを書いていました。残念ながら、そのノートは残ってないんですけど。ついでにいうと、名前も決めてたんです。「Ruby」じゃないです。まったく違う名前。あまりに恥ずかしい名前だから、絶対に明かさないです、これは(笑)。
図書館と研究室に通いつめていた大学時代
 大学は情報系に進んだんですが、ようやくちゃんとしたプログラム環境に出合えたのがうれしかった。それまでは触れてなかったUNIXや、書籍の中でしか見たことがなかったソフトウェアや言語などに直接触れることができて。高校時代に読んだ本の著者が研究室の先生だったというのも、うれしい出来事でした。プログラミング言語の研究室です。でも研究室のテーマは言語処理系の実装方法についてだったので、私一人先生の言うことを聞かないで、自分で言語をデザインしたりしていましたが(笑)。

 バブルの時代でしたけど、遊んだりしていた記憶はないですね。ずっと図書館にいて、やっぱりいろんな本を読んでいました。遊びに行くとすれば、映画館か、それともやっぱり本屋か(笑)。運動は得意じゃないし、みんなで何かやることにも関心がなかった。本は子どものころから本当にずっと読み続けていましたね。最近になって、ネットのおかげで昔ほど読まなくなりましたけど。でも、いろんな分野の本を読んできたことは、自分に大きな意味があったと思う。

 あとは、研究室によくこもっていましたね。一晩中、研究室でコンピュータをいじって過ごして朝、家に帰ってシャワーを浴びて、また研究室に来たりとか(笑)。80年代後半でしたけど、既に研究室ではインターネットが走っていたので、ネットニュースとか掲示板とかも見てましたね。面白いなぁと思いました。世の中には頭のいい人がいるんだな、と。

 当時はまだコンピュータは黎明期。実は父親は、情報系の学校に行くのは反対していました。コンピュータやプログラムは趣味にしとけ、と。メカなどの技術者にしたかったみたいですね。でも、僕はとにかくコンピュータが好きでしたから。先のことなんて全然考えていませんでした。
不況で時間ができて、「Ruby」開発が始まった
 1990年に卒業して、ソフトハウスに入りました。決めていたのは、東京では働かないということ。田舎育ちで人が多いのは嫌いだったし、通勤に1時間も2時間もかけるなんて考えられなかった。だから、地方のソフトハウスがよかったんですが、そうなると、選択肢はかなり限られて。でも、浜松で働ける会社と出合って、そこを選ぶんです。

 仕事は社内OAシステムの開発です。当時まだテキストしか送れなかった電子メールを、添付ファイルを送れるようにプロトコルからツールを開発したり。面白かったですね。こういうものを作る、というテーマは決まっていましたけど、自由に作らせてもらえたので。3分の2の時間をライブラリに充てたりとか(笑)。フリーソフトも使っていました。好きにやって、遅くまで残って仕事をして。やっぱり先のことは何も考えてなかったです(笑)。一生、プログラマでスキルを上げていくことが夢でしたね。おじいさんになっても、開発していよう、と。

 ところが、数年すると、バブル崩壊の影響が出始めて。社内システムも、仕事が減って忙しくなくなってしまった。でも、マシンはあるわけですから、できることをやろうと思って。それで「Ruby」の開発を始めたんです。あったらいいなぁと思えるものを、時間があったんで作り始めてみた。それだけです。会社でやっていましたから、同僚には話していました。いろいろ応援してくれましたね。

 開発を始めて1年くらいで転職するんですが、これは会社の経営が厳しくなってきたから。仕事内容には不満はなかったし、環境も友達にも恵まれてたんですが、当時既に結婚していて家庭もありましたから、会社がつぶれてしまっては困る。一方で、自分を高く売れるうちに売っておこうという気持ちもありました。当時はオブジェクト指向技術者は少なかったから。友人に紹介されたエージェントを通して活動しました。ここでもやっぱり条件は、東京勤務じゃないこと。それで名古屋のCADベンダーと出合うことができた。

 家にはコンピュータはありませんでしたから、この職場でも「Ruby」は会社で開発しています。でも、もちろんそんな業務命令は出ていない。ただ、本来の仕事でのアウトプットはきちんとしていました。だんだんと気持ちは「Ruby」のほうが大きくなっていきましたが。今だから言いますが、ときには、「Ruby」の開発の時間を確保するために、ちょっと本業の開発時間を長めに見積もったりさせてもらったことはあったなぁ(笑)。

 直属の上司には「Ruby」のことは言っていませんでしたが、会社のシステム管理者には話していました。転職して1年ほどで「Ruby」を公開するんですが、そのとき会社のWebページに間借りさせてもらっていましたから。好きでやってるんだ、それならいいよ、と。今から考えると、のどかな、いい時代でしたね。
Rubyのサイト
「日本Rubyカンファレンス」のトップ画面。「Ruby」の特徴は、文法がシンプルなこと。整数や文字列など、データ型はすべてがオブジェクトとして扱われること。作成したプログラムを逐次実行するインタプリタ言語であること。プラットフォームを選ばない高い移植性を持つこと、などだ。「Ruby」の開発は、まつもと氏が推し進めているが、メンテナンスや質的向上には、世界中のプログラマが参加している。「集合知というか、Web2.0的環境というか、結果的にオープンソフトのソフトウェアは、みんなの知恵が集まっていく仕組み。それを早くから実践していたことになりますね」。
著書
著書『オブジェクト指向スクリプト言語Ruby』を上梓したのは、1999年のこと。93年に開発を始め、95年12月に、Ver.095をfj.sourcesに投稿し、広く公開。96年12月にはVer.1.0をリリース。98年11月には、「Perl Conference Japan」で「Ruby」について講演している。本が出た翌年の2000年には、英語で書かれた初の解説書が出版されている。また同年、初めての専門カンファレンス「Prel/Ruby Conference」が京都で開催。2001年には、初めての海外での専門カンファレンス「Ruby Conference 2001」がアメリカのフロリダで開催された。「Ruby」を用いたツール「Ruby on Rails」の登場で、その存在は近年、ますます広く知られるようになった。
本人
意外だったが、実は数学が大の苦手。高校時代は、試験で学年でビリになったこともあったとか。「そもそもプログラムには数学は不要なんですよ。プログラマが何をするのかというと、お客さんがどんなプログラムを望んでいるかを聞き取って、書き出して、それをコンピュータが実行できるように書き換えるという作業ですよね。どこに数学が出てきますか。イメージに惑わされちゃいけない。実際、僕は今も数学はダメです。というか、計算そのものがダメ。でも、計算は電卓がしてくれますから。むしろコンピュータの世界は、数学よりも、人間としてのスキルのほうが必要なんです。聞く力とか、理解する力とか。コミュニケーション能力こそ、重要なんですよ」。
 1995年、まつもと氏は自ら開発した「Ruby」を公開する。何か狙いがあったわけではない。将来に役立てようとか、そんな思いがあったわけでもない。自分が便利だと思えるものができた。しかも、会社とも関係がない。フリーソフトとして公開し、使いたいという人に使ってもらおうと考えるのは、当然の成り行きだった、と。だが、反響は思った以上のものだった。毎日のようにメールが入ってくる。メーリングリストは数百人の規模になった。ユーザーからの声も反映させて、バージョンアップにも取り組んだ。そんな折、会社から東京への異動の打診がくる。同時期に、島根県で新しい会社を立ち上げるという話を耳にし、現在の会社への転職を決断した。当初、システム開発者として勤務を始めたまつもと氏だったが、やがて「Ruby」は会社の売り上げに貢献するようになる。そして「Ruby」だけに専念するという理想の環境で、仕事ができるようになった。
心がけてきたのは、自分が欲しいものを作ること
「Ruby」の開発で世界に知られて、なんて言われますが、ここ数年のことですからね。別に有名になろうと思ったわけでもないし、ずっと好きでやってきただけ。言ってみれば、趣味みたいなものです。釣りやスノボを趣味にしている人と同じで、見返りは最初から期待してない。どんなにハマっても、それで有名になろうとか、儲けようとか考えないでしょう。ソフトウェアだとビジネスが成立しているから期待しちゃう人が多いのかな。僕の場合、幸いだったのは、プログラム言語というのは、もともとお金にならないものだということが最初からわかっていました(笑)。無料が当たり前ですから。だから、誘惑されることもなく(笑)。その意味では、今は本当にありがたい立場です。「Ruby」の開発だけで給料がもらえているわけですから。

 でも、気がついたらこうなっていたんです。局所最適化というか、そのときどきに一番いい方向を選んできたら、今があったというだけ。これまでも長い先は考えなかったし、今もそうですね。10年先なんて考えてない。先のことは、わかんないですから。

 ただ、開発にあたって大事にしてきたことはあります。それは、自分が欲しいものを作ること。僕は短気で(笑)。だから、自分がイライラしないものを作りたかった。シンプルで、わかりやすいもの。誰に気に入ってもらおうとか、使ってもらおうとか、そういうものではない。自分が使いたいもの。誰かのために役立つという利他的精神は、ないわけではないけれど、自分ではあまり意識してないですね。それよりも、圧倒的に自分がイライラしなくてすむという利己的精神のほうが強い(笑)。

 僕のソフトを気に入ってくれた人は、僕と感性が近い人でしょうね。僕は本気で自分が我慢しなくてすむようなものに取り組んできましたから。感性の近い人には、うれしいものになっていると思いますよ(笑)。
自分がやりたくないことをやるのは、大変なこと
 もちろん、一生懸命作ってきました。それこそ脳みそから汁が出るくらい考え抜いて(笑)。ただ、そういう設計上の難関というのは、なきゃないでつまんないんですよね。むしろ、難しいから燃える。難しいから面白さがある。そういう感覚は、大事にしています。でも、大変だと思ったことはないです。人間にとって一番大変なのは、やりたくないことをイヤイヤやらされることです。むしろ、僕は「Ruby」でいかにそれを減らそうかと奮闘しているわけだから。労力も時間もかかっているけど、ちっとも大変じゃない。むしろ、好きでやってるわけですから楽しい。

 では、どうして「Ruby」がうまくいったのかと聞かれたら、長い時間、本気でやり続けてきたから、ということだと思うんです。そもそも「Ruby」はそれほど革新的なものでもない。世の中のどこにもないものを作った、新しいジャンルを生んだ、とかではないんです。似たようなものはいくらでもあります。自分が欲しいものを、あきらめずに開発し続けたことで、自分の趣味に合うと言ってくれる人が出てきてくれた。そういう人たちが作ったツールを気に入ってくれた人が現れてくれた。「Ruby」が特別優れているから、というのではなく、ほんのちょっとの違いの積み重ねが今になっていると思うんです。決して、どこにもない、今までになかったものを作ったわけではないんですよね。

 大事なことは、ゴールが明確なことです。はっきりとしたゴールを決める。僕の場合は、自分がイラつかない、がゴールです。でも、世の中では漠然とした目標が立てられることが多々ある。例えば、「何か新しいものを」とか「何かいいものを」とか。こういうぼんやりしたゴールでは、アウトプットが出たときに評価ができません。

 とりわけ技術では、新しいもの、というのがキーワードとしてよく取りざたされますが、僕にはよくわからないですね。「新しいものかどうか」という評価軸そのものが僕にはないからです。新しいか新しくないかが問題なのではなく、自分にとって便利なものが自分の手の中にあることかどうかこそが重要だと思うから。今、自分が便利かどうか、快適かどうかです。だからエンジニアとしての僕は、新しいかどうかは気にしませんし、なりません。今、僕の目の前の問題を解決できるかどうかこそが問題だと思うんです。
成功しているのは、いびつさを恐れなかった人たち
 エンジニアに伝えたいのは、いびつさを恐れてはいけないということですね。日本の学校教育は、人を平準化しようとしてきた。でも、僕がこれまで会ってきた成功者たちは、その多くがある種、いびつな人たちだったんです。何か問題があったとき、それを解決する能力というのは、平準化した低い山のような能力ではない。むしろ、あるところは極端に低くても、あるところが突出して高い、いびつな能力を持った人です。そういう人が、問題解決を行える人なんです。必要なのは、能力があるかではなく、問題が解決できることです。そのための能力ですから。

 ここ20年ほど、ITの世界は激変してきたとよく言われます。しかし、一見そう見えても、実はシステムを巡る環境というのは、あまり変わっていないというのが、僕の印象です。たしかに新しい技術は、出てきたり、消えたりしてきました。でも、実は基本は変わっていないんです。UNIXは20年変わっていない。HTTPは十数年変わっていない。テキストプロトコルに至っては、30年以上変わっていない。ベースは全然変わっていない。

 その基本を押さえないで、表層のアプリケーション技術だけに向かっていたらどうなるか。5年たったら、使えなくなります。たしかに表層の技術をトレンドとして追うことも大事。でも、それ以上に重要なのは、しっかり基本、基礎を理解しておくこと。そうでないと、時代に振り回され、得た知識を無駄にするだけです。

 逆にいえば、基礎を押さえ、自分が向かいたい方向さえ、きちんと定まっていれば、どんなトレンドがきても怖くないし、心配する必要はないということ。新しい技術は、自分が向かう方向に便利に使えるツールになるわけです。その意味では、自分がどこを向いているかこそが何より重要だと僕は思いますね。どこに所属しているか、とか、どこにいるかとか、そういうことではない。自分がどうしたいか、こそが問われる。そういう時代だと思います。
オフィススペース
所属するネットワーク応用通信研究所は、島根県松江市にある。2つ目の会社で東京勤務を迫られていたとき、島根県でLinuxをベースにした会社を作りたいという人がいる、という紹介があり、今の会社の前身の会社に合流することになった。当初の役割はシステム開発者。だが「Ruby」が社内で評価を得て、Web系のシステムで使われ始める。「生産性も高いし、性能もいいですからね(笑)。しかも、わかる人が、すぐ近くにいるわけですから。何かあれば、飛んでくるというか、そこにいるというか(笑)」。やがて「Ruby」は売り上げに貢献するようになり、まつもと氏は「Ruby」の開発に専念するようになった。
仕事スペース
仕事環境は非常にフレキシブル。午前中は自宅で仕事をして、午後から会社で、ということもよくある。会社までは、20分ほど。職住接近だ。「最近のお気に入りは、会議室で仕事をすること(笑)。書類も広げられるし、快適なんですよね」。自宅は玉造温泉まで5分という距離で“脳味噌から汁が出るまで考え”て、疲れた身で、よく温泉を訪れるという。「ほっと気が抜けると、けっこういいアイデアが出たりする。仕事環境として、温泉はものすごく貢献してくれています」。
自分のパソコン
最近、お気に入りのパソコンは、「Thinkpad X31」。「ときには脳みそから汁を出しても、答えが出てこないときがある。そういうときは、面倒なことは後回しにします(笑)。オープンソースは締め切りがありませんから。ほかに山ほどあるやるべきことをやって、難しいことは後に回す。実際、過去のログとかを見ていると、何年も堂々巡りしているテーマとかあったりして。でも、できることからやっていけばいいんです。それも、大変さを感じずにすんでいる理由かもしれないですね」。
profile
まつもと ゆきひろ
(株)ネットワーク応用通信研究所
基盤研究グループ
特別研究員

1965年、大阪府生まれ。4歳から鳥取県米子市で育つ。90年、筑波大学第三学群情報学類卒業後、ソフトハウス、CADベンダーを経て、97年に(株)ネットワーク応用通信研究所に入社。93年、ソフトハウス勤務時代に「景気が悪くなって空いた時間」を利用して「Ruby」の開発を始め、95年にフリーソフトとして公開。高校時代から、「いつかは自分でオリジナルのプログラミング言語を作りたい」という夢をもっていた自他ともに認める言語オタクだった。それが高じて自作してしまった「Ruby」によって、世界に知られるようになった。「Ruby」以外では、メーラーを開発している。本名は、松本行弘。「漢字で書くと、あまりにごく普通の日本人の名前になってしまうので差別化しようと思って」というのが、ひらがなで名乗っている理由だという。
購入はこちらから
  • はてなブックマークに追加
  • Yahoo!ブックマークに登録

このレポートに関連する企業情報です

楽天は、Eコマース、FinTech、デジタルコンテンツ、通信など、70を超えるサービスを展開し、世界12億以上のユーザーに利用されています。これら様々なサービスを、楽天会員を中心としたメンバーシップを軸に有機的に結び付け、他にはない独自の「楽天エコシステム」を形成しています。続きを見る

あなたを求める企業がある!
まずはリクナビNEXTの「スカウト」でチャンスを掴もう!
スカウトに登録する
宮みゆき(総研スタッフ)からのメッセージ 宮みゆき(総研スタッフ)からのメッセージ
人込みや電車のラッシュが苦手だから、東京で働くのは嫌だというまつもとさん。でも、月に1〜2回は東京に出張があるのだとか。そのときは、週に2回予定があっても、よほどのことがない限り、一回島根の自宅に帰って、飛行機に乗って東京に出かけるのだそうです。自分のやりたいことを貫くというまつもとさんらしいエピソードだなぁと思わずにやりとしてしまいました(笑)。

このレポートの連載バックナンバー

我ら“クレイジー☆エンジニア”主義!

常識に縛られない異才・奇才が未来技術を切り拓く。彼らクレイジーエンジニアの人生・キャリア観からエンジニアの本質を探ります。

我ら“クレイジー☆エンジニア”主義!

このレポートを読んだあなたにオススメします

Rubyまつもと氏、Palmscape奥氏、うたうたう新井氏のホンネ 

生まれた時からプログラマ☆興味と感性で世界を驚かす

プログラマは下流工程、早く抜け出してSE、そしてPMへ上がりたい……なんて思っているソフトエンジニアの皆さん。その考えは間違って…

生まれた時からプログラマ☆興味と感性で世界を驚かす

組み込み向けプログラミング言語“mruby”“MobiRuby”が誕生!

まつもとゆきひろと増井雄一郎が創る“軽量Ruby”とは

「Ruby」の生みの親であるまつもとゆきひろ氏が、組み込み向けの軽量版「mruby」を開発した。また増井雄一郎氏は…

まつもとゆきひろと増井雄一郎が創る“軽量Ruby”とは

Rubyまつもとゆきひろ氏×Google鵜飼文敏氏のナマ対談

オープンソース開発を楽しむための“譲れないルール”

目まぐるしく変化するIT業界。その中でもオープンソース開発によるソフトウェアが、今注目を浴びている。「Ruby」の開発者まつもと…

オープンソース開発を楽しむための“譲れないルール”

我ら“クレイジー☆エンジニア”主義!

なぜコードを書き続けるのか?ギーク増井雄一郎の原点

我ら“クレイジー☆エンジニア”主義!「Titanium Mobile」の伝道師、「MobiRuby」「Wri.pe」などの開発者として知られる、増井雄一郎…

なぜコードを書き続けるのか?ギーク増井雄一郎の原点

2013年は、mruby、MobiRubyで世界中にRubyブームを巻き起こす!

まつもとゆきひろ、増井雄一郎の“Ruby”ギークライフ

世界にRubyの存在感を示していきたい──組み込み向けプログラミング言語“mruby”“MobiRuby”を開発する…

まつもとゆきひろ、増井雄一郎の“Ruby”ギークライフ

IT業界、生保業界…7人の人事に聞いたウラ事情

人事担当者が告白!転職者の給与はこうして決まる

「前給考慮」「経験能力に応じて優遇」などは募集条件でよく見る言葉。でも前給や経験能力を、具体的にどう考慮して給与を決め…

人事担当者が告白!転職者の給与はこうして決まる

この記事どうだった?

あなたのメッセージがTech総研に載るかも

あなたの評価は?をクリック!(必須)

あなたのご意見お待ちしております

こちらもお答えください!(必須)

歳(半角数字)
(全角6文字まで)
  • RSS配信
  • twitter Tech総研公式アカウント
  • スカウト登録でオファーを待とう!
スマートグリッド、EV/HV、半導体、太陽電池、環境・エネルギー…電気・電子技術者向け特設サイト

PAGE TOP