トップページへ > プログラミング言語の作者へ
前のページに戻る
Google  

まつもと ゆきひろ

Matsumoto Yukihiro

1965 -

日本発オブジェクト指向スクリプト言語Rubyの作者

2004/11/29 掲載

世界中に浸透しつつある日本発プログラミング言語Ruby

いまさらあえて国産というのも気が引けるほどRuby(ルビー)は世界中に普及しつつある。ルビー・コンファレンスが2001年から毎年米国で開かれていて2004年はバージニア州チャンチリーで行われた。まつもとは愛称でMatzと呼ばれている。もちろんスピーカーやパネラーはまつもとを除いては全員アメリカ人だ。まつもとはLinuxカーネルの作者リーナス・トーバルズや最も普及したスクリプト言語Perlを作ったラリー・ウォールのようなポジションにまさにいるわけだ。

知識欲旺盛で立ち読みの名人

まつもとゆきひろ(松本行弘)は1965年4月14日大阪で生まれた。クリスチャンの家庭で育ち早くからキリスト教的環境になじんだ。4歳のとき鳥取県米子市に移った。すぐ前が本屋さんだったので、ずっとそこに入りびたりだったそうで、かなり早熟な知識吸収欲だ。小学校6年生のとき父親がパナファコムのマイコンキットL-kit16を買ってきたので、それで遊んだ。さらに中学2年のときシャープのポケットコンピュータPC-1210(ピタゴラス)をまた父親が買ってきたらしく、まつもとはここではBasicを覚えて初めてプログラミングしたらしい。それからは持ち前の知識欲で、手当たり次第にプログラミング関連の書籍を立ち読みで読破。よほど性に合ったのだろう、プログラミングが好きになった。

オブジェクト指向との出会いと夢

鳥取県立米子東高校に進んだころの1982,3年、月刊アスキーに掲載されたSmalltalkに関する小さな記事を読んだのがオブジェクト指向との出会いだった。この頃からまつもとは自分のプログラミング言語を作ってみたいという夢を持つようになった。

「私はこの15年間、プログラム言語、オブジェクト指向プログラミング、そしてヒューマン・コンピューター・インターフェースのーこの順序で―大ファンでした。高校生の時から、自分で理想的なオブジェクト指向言語を設計してインプリメントするのが夢でした」
IBMDeveloperWorks Maya Stodte氏のインタビューより

キリスト教を信じて生きる

1984年に筑波大学第三学群情報学類に入学した。夢の実現のためというか好きだったのでコンピュータ科学を専攻することにしたのだろう。このころキリスト教を信じて生きてゆこうと決めた。クリスチャンの家庭に育ったのでまつもとにとっては自然な選択だった。その決心を確かめるかのように在学中に2年間休学して、末日聖徒イエス・キリスト教会(通称モルモン教会)の宣教師として日本国内を活動した。アメリカから来た同僚や上司の宣教師とペアで布教活動をするうちに英語も使えるようになった。

念願の自前のプログラミング言語の構想

復学するとコンパイラについての著書がある中田育男教授の研究室で勉強し、1990年に卒業した。卒業後しばらくは自分のほしい言語は何なのか構想を練っていたのだと思う。まつもとは100以上のプログラミング言語を研究したらしい。まつもとの基本ポリシーは”できるだけ少ない規則で大きな範囲をカバーする”洗練された文法をもつことと、そしてそれは”思考の流れをさまたげない”できるだけ人間に近寄った言語を作ること、でもある。

「...しかし、Rubyがもっとも重視しているのは多様性ではありません。それよりもむしろプログラミングという精神活動の中でいかにストレスを減らすかという点に注目しています。...『Enjoy Programming』がRubyの真のモットーです」
スラッシュドットジャパンのインタビューより

その意味で、Rubyがコンパイラ形式ではなく、インタープリタであったり、スクリプト様式が選択されたのは必然的だった。そしてまつもとが好きなオブジェクト指向プログラミングはなくてはならぬものだった。まつもとはオブジェクト指向のひとつの源流であるSmalltalkの持つ人間指向のポリシーに共感していたのだと思う。オブジェクト指向をベースにしたスクリプト言語、これがめざすべきのもだった。そのような目でみると、まつもとにとってはC もPerlもPython(パイソン)も中途半端なものだった。

「オブジェクト指向プログラミングをサポートするスクリプト言語はいくつかあります。一方で、スクリプト・プログラミングのサポート機能を持つオブジェクト指向言語はあまりありません。PerlとPythonは前者であり、Rubyは後者です。この区別を問題にする人は多くないでしょうが、私にとっては重要なのです。そして、これがプログラミングを簡単で楽しくする点であると思います」
IBMDeveloperWorks Maya Stodte氏のインタビューより

まつもとは、スクリプト言語の先輩であるPerlやPythonのよいところは積極的に採用した。特にPerlについては、正規表現を中心にPerlらしさを踏襲するように心がけた。このようにしてEnjoy Programmingポリシーにそった言語のあるべき姿が明確になった。

「...Rubyが成功した理由の一部は、Rubyのような言語になにが必要か私が分かっていたことにあると思います...」
スラッシュドットジャパンのインタビューより

オブジェクト指向スクリプト言語Rubyの誕生

Rubyは最初まつもとが持っていたコンピュータ:ソニーのNewsの上に構築された。NewsOSはBSD-UNIXをカスタマイズしたもので、まつもとはそのUNIX環境の元、C言語で自分の言語を動かすためのインタープリタを書き始めた。

「...インタプリタを実行できるようになるまでは、数ヶ月かかりました。イテレータ、例外処理、ガーベッジ・コレクションなど、言語に自分の言語にほしいと思った機能を組み込みました。そして、Perlの機能をクラスライブラリとして再編成し、これをインプリメントしたのです...」
IBMDeveloperWorks Maya Stodte氏のインタビューより

1993年2月にNews上でRubyインタープリタは動き出した。最初は自分だけで使うつもりだったが、かなり使えるとの感触を得てフリーソフトウエアとして公開することにした。準備を進め1995年12月にRuby0.95を日本国内のニュースグループにポストした。これがいわゆるRubyの初めてのパブリック・バージョンだ。
 ちなみにJavaの発表が同じ年の5月だった。JavaはC をベースとしているがRubyと同じようにSmalltalkの影響を受けている。さらにCライクのポインタ処理の隠蔽やメモリー管理でのガベージ・コレクションの採用、クラス操作における多重継承の不採用などC/C 文化のマイナス面を解消しようという意識が強く出ている言語だ。これはまつもとのRubyの設計思想と奇しくもオーバーラップする。遠く離れていても時代が共有されているのかもしれない。

Rubyの特徴

Rubyのルビーは宝石のルビーと同じだ。まつもとは自分のスクリプト言語の名前を決めるときPerlを強く意識していた。PerlはPearl(パール:6月の誕生石真珠)に通じるので次7月の誕生石ルビーとしたらしい。
 Rubyはいわゆるオープン・ソースのソフトウエアだ。インターネットからソースコードも含めてRubyに関するすべてをダウンロードすることができる。Rubyのメンテナンスにかかわるコミュニティにも世界中のプログラマが参加している。

■特徴の第一は、やはり何といっても完全にオブジェクト指向であるという点だろう。
○Ruby上すべての変数はオブジェクトとして扱われる
○すべての手続きはメソッドとして表現される

■さらに変数の宣言が不要で、変数や式の型は文脈によって自動的に判断される。このへんは他のスクリプト言語と同じだが、Rubyの変数のスコープは、名前の頭文字が小文字か大文字か$か@かなどによって自動的に決まってくる。これがすごくわかりやすいのだ。(ローカル変数local、グローバル変数$global、インスタンス変数@instance、コンスタントConstantなど)

■多重継承はあえてサポートしないが、その代りモジュールのMix-inという手法で多重継承よりシンプルで使いやすい仕組みを提供する

■CLUという言語から引き継いだ強力なイテレータ機能をもつ。イテレータは手続きの抽象化を行う機能で、ループ構造が隠蔽されるのでコードの見やすさが格段に向上する

■豊富なクラスライブラリにより、ネットワークやデータベース、GUI、スレッド機能まで使いこなすことができる

■ガベージコレクト機能を標準で装備している

■その他
 Cの関数をそのまま呼び出せる/言語に組み込まれたスレッド機能/Perl5と互換性がある正規表現を組み込んである/UNIXのすべてのシステムコールを呼び出せる/Win32のすべてのシステムコールを呼び出せる、などいろいろ。

博士号取得に向けて

ことソフトウェアやアーキテクトの世界で、世界的に名の知られた日本人というのは実はほとんどいない。強いてあげれば、圧縮ソフトの定番LHAの作者吉崎栄泰や、TRONの坂村健、4004の設計者嶋正利などだろうか。まつもとゆきひろの名は今後どんどん知れ渡ってゆくことは間違いない。
 そういえば、嶋正利が外国とやり取りするときに「ドクター・シマ」と当然のように相手が言ってくるので、いちいち言い訳しなければならず、後年博士号を取得したという話が伝わっている。まつもとにもおなじような事情があるのかどうかは分からないが、オブジェクト指向の生みの親であるクリスティン・ニガードや、C++の設計者であるビアルネ・ストラウストラップと面識があったり、達人プログラマーの著者であるアンドリュー・ハントやデビッド・トーマスなどとお友達だったり、やはりRubyの父としての立場は世界的なのだなと感じる。
 まつもとは故郷に戻った後、島根大学大学院博士課程に進んだ。現在は株式会社ネットワーク応用研究所というオープン系のソフト関連の会社に特別研究員として勤務している。そこではRubyを広めることが仕事みたいな破格の待遇を得ているようだ。今は仕事のかたわら、博士論文を執筆中とのことである。

博識をベースとする確固としたポリシー

まつもとのプログラミング言語に対する認識はきわめて明確だ。

「...人気の獲得という最初の難関を乗り越えた言語が陥る罠が肥大化です。言語はあらゆる局面で使われるため、いろいろな局面に便利な機能をどんどん取り込んでいくと次第にその仕様が大きくなっていきます。そして肥大化を続けた言語はいつしか自らの重さで重力崩壊してブラックホールになり周囲のものすべてを飲み込むようになります(笑い)。そのような言語は実装が難しく、使いこなすのが難しく、結局人気を失う危険性が高いのです。今、Perl6がその道を歩んでいるのではないかと心配です。Rubyは決してその道はたどらないようにしようと決心しています」
スラッシュドットジャパンのインタビューより

まつもとには、(クリスチャンということが関係しているのかどうかはわからないが)日本人には珍しく精神性優位の人格を感じる。将来はソフトウェア世界のオピニオンリーダーの役割を期待したい(日本に限らず世界的な意味で)。

参考文献および関連書籍の紹介
「オブジェクト指向スクリプト言語Ruby」 まつもとゆきひろ/石塚圭樹共 アスキー出版局 1999年11月  4000円
Rubyの解説本の決定版として作者自身が書き下ろしたもので、575ページの分厚いものになっている。
「Rubyデスクトップリファレンス」 まつもとゆきひろ著 オライリージャパン 2000年11月  1050円
これも作者自身が書き下ろしたリファレンス本で、Cなど他の言語を習得した人ならすんなり入っていける内容だ。Ruby本はこの他に多数出版されていて、とても列挙しきれないのでアマゾンなどのサイトで検索してほしい。
AERA2000・11・6号 朝日新聞社 2000年11月  0円
「IT天才を育てる」
通産省の未踏ソフトウエア創造事業というのがあって、そこに応募したITを目指す若者たちが紹介されている。まつもと氏もこれに応募したみたいで紹介されていた。
日経BYTE 日経BP社 2003年10月  0円
2003/10号
2003/11号
まつもとゆきひろのプログラミング言語論
日経バイトの「技術の真髄」という特集にまつもと氏が寄稿していた。プログラミング言語の歴史をたどりながら、まつもと氏独自の評価をくだしていくといった内容だ。このシリーズは最近 「ソフトウエアの匠」 というタイトルで出版された。
「Code Reading」 トップスタジオ訳 まつもとゆきひろ/平林俊一/鵜飼文敏監修 毎日コミュニケーションズ 2004年6月  5460円
「プログラミングRuby−達人プログラマーガイド」 デビッド・トーマス/アンドリュー・ハント著 田和勝翻訳、まつもとゆきひろ監修 ピアソンエデュケーション 2001年9月  5040円
達人プログラマーの著者であるデビッド・トーマスとアンドリュー・ハントがアメリカで出版したものを日本語訳して逆輸入したもの。まつもと氏が監修に加わっている。Ruby本の決定版として人気が高い。
インターネットソースの紹介
オブジェクト指向スクリプト言語Rubyホームページ(別ウィンドウ)
http://www.ruby-lang.org/ja/
日本Rubyの会ホームページ(別ウィンドウ)
http://jp.rubyist.net/
スラッシュドットジャパンのインタビュー(別ウィンドウ)
http://slashdot.jp/developers/article.pl?sid=03/03/14/0258247
ルビイスト・マガジン創刊号のインタビュー(別ウィンドウ)
http://jp.rubyist.net/magazine/?0001-Hotlinks
移行前のコメント
2006/11/4
よくまとめてあると思います.勉強になりました.二点ほどコメントです.
1.変数の頭で型を決めるのはBASICの流れですね.
2.C よりもJAVAの方が先に開発されたと認識しております.従ってJAVAがC を基にしているというのは違うのではないかなと思います.JAVAはサンマイクロシステムの映像制御言語が元で,そのプロジェクトは潰れましたが,言語だけが生き残ったと当時の関係者から聞いております.実は言語ともう一つサンのシンボルでよく出てくるとんがり帽子の人形もその当時のオンデマンドビデオプロジェクトに使われておりました.
ちなみに私はこの業界で36年過ごしております.
中田さんの研究室とはなんとなく親近感を感じます.

 

 

コメントの投稿と一覧
2007-07-04
よくまとめてあって読みやすかったです。参考になりました。
ありがとうございました。

感想、ご意見など自由にご記入ください