Rubyのまつもと氏は、一発屋で終わるのか?
釣りタイトルでスミマセン。こういうことなんです。
Linuxの生みの親であるリーナス・トーバルス氏は、Linuxカーネルというホームランを打ち放ってオープンソース界の殿堂入りをしましたが、比較的最近になって分散バージョン管理システムの「Git」をサクッと実装して、これがまた大きなヒットとなっています。
Linuxカーネルの開発に携わっている人なら、リーナスのエンジニアとしての腕を認めるところかもしれませんが、そうでない一般人には「幸運児」にも見えかねません。
「みんなx86で動いて自由に使えるUnixが欲しかっただけ。そのタイミングでおもちゃとしてのLinuxが登場したからみんな飛びついた。ちょうどインターネットが流行し出してサーバも必要だったし、ふと見ればインテルのプロセッサが安いわけ。速いわけ。もうx86サーバでいいんじゃね?」
と、時代の波に乗った印象があるからです。ところが、リーナスはLinuxだけではなく、Gitを世に出して一発屋でないことを証明してみせました。
Gitの実用的で高速な実装は、エンジニアとしての腕を証明しましたし、分散開発という大きな潜在ニーズを汲み取ったというマーケティング的な面でも嗅覚を証明したと思います。LinuxもGitも自分が欲しかったものを作っただけかもしれませんけど、少なくとも一発屋ではなかったわけです。Linuxぐらい凄い業績だと、一発で何の問題もないとは思いますけどね。
組み込み市場向けプログラミング言語で再チャレンジ
さて、我らがRubyの生みの親、まつもとゆきひろさんです。
Rubyもホームランです。やはり時代の波に乗った感じもありますが、AwkやPerlと同列のスクリプト言語としてRubyが登場した1995年ごろには、「テキスト処理にもオブジェクト指向があったほうがいい」というまつもとさんの主張は、実は広く受け入れられませんでした。当時、オブジェクト指向はCADなど一部の“大きなソフトウェア”のための手法であると信じられていたからです。ところが、それから5年もすると、Javaの流行もあってオブジェクト指向は徐々に一般化しました。今やオブジェクト指向は時代の主流です。
根っこからオブジェクト指向で、テキスト処理に強く、ほどよく関数型言語の良さも採り入れていたRubyは、時代の先を読んでいたと言えると思います。Rubyは、2004年にRuby on Railsというブームがあったから広まったという言い方をする人もいますが、Ruby on Railsを作ったデイビッド・ハイネマイヤー・ハンソン氏自身は、他の言語ではなくRubyを選んだのは必然だったと言っています。
リーナスがLinuxに続いてGitで大きなヒットを飛ばしたのと同じことが、Rubyのまつもとさんにもできるでしょうか? まつもとさんは現在、「RiteVM」というプロジェクト名のもとに、新しい言語処理系の開発に着手したところです。
RiteVMは、組み込み向けのプログラミング言語です。基本的な文法やスタイルはRuby言語を踏襲し、言語としてはRubyとのことです。ただ、組み込みで使いやすいように設計・実装する予定だといいます。Rubyのフルセットと違い、モジュール化されていて、フットプリントは小さく、コンパイラを含まない実行形式も吐けるようになるようです。
まつもとさんに話を聞きました
まだ取り組みは始まったばかりですが、ポテンシャルは非常に高いと思います。いま、組み込み系ではブラジル発のLua(ルア)という言語の人気が非常に高まっています。Cよりも抽象度が高く、組み込みスクリプト言語としても使いやすことなどから、iPhoneやゲーム業界などで使われているようです。Luaの文法については、「Programming in Lua」が参考になりますが、GCがあり、イテレータやクロージャが使え、リンクト・リストやキューといったデータ構造も組み込みという感じです。
Lua人気は今後もまだ上がり続けると思います。組み込みといってもメモリ1バイト、CPUの1サイクルを削るのが至上命題というケースばかりでなく、書きやすさ、メンテナンスのしやすさが求めらるケースが増えているのでしょう。
まつもとさんに言わせると、Luaでも、まだ抽象度が低く、オブジェクト指向も「JavaScriptと同じで、Luaのオブジェクト指向は内臓が見えちゃっているような感じ」だといいます。
Rubyとほぼ同じカバー領域を持つPythonは、世界的には人気が高いものの、日本国内ではRubyのほうがプレゼンスが強いですよね。Pythonユーザーになるはずだった人のかなりの割合が、日本ではRubyユーザーになったのではないかと、まつもとさんは言います。同様に、今後10年でLuaが入り込むべき市場において、RiteVMが利用者をLuaから奪うというようなことが起こらないとも限りません。特に日本国内においては。
もしそうなれば、リーナス同様に、まつもとさんも「やっぱり一発屋じゃなかったんだ」ということになるのかなと思います。今のところ私が聞いている限りでは、「組み込みにRubyだなんて、寝言は寝てるときにいってくださいよ」という反応もあるようです。1995年にオブジェクト指向なんて大げさだいう反応があったのと似ているかもしれません。5年後、10年後にはどうなっているでしょうか?
さて、以上に書いた話は、実は動画インタビューの一部分を要約したものです。弊社アイティメディアでは「ITmedia Virtual EXPO 2011 -転換期のITとモノづくり-」と題して、オンライン上の仮想イベントを9月13日から30日の期間に実施予定です。このイベントの1つのセッションとして、まつもとゆきひろさんに1時間ほどお話をうかがいました。話の内容要は、
【前編】 ●エンタープライズ市場でのRubyの普及 ●「RiteVM」開発プロジェクトへの取り組み 【後編】 ●エンジニア間でのRuby人気の秘密 ●JavaScript vs Ruby
といったところです。最初のほうこそエンタープラズの話が続いたりしますが、話が進むに従って、JavaScriptやV8の話、ErlangVM(BEAM)上に「Elixir」というRuby風の言語が実装されているという話が飛び出すなど、エンジニアの方、プログラミング好きの方にもお楽しみいただけるような内容かと思います。是非、仮想イベントに“ご来場”くださいませ!