2008年06月22日

Ruby10年の下積み時代〜優秀な言語の歌〜

Rubyは10年前のJavaと同じだそうな。日本Ruby会議2008にて。

http://www.atmarkit.co.jp/news/200806/20/ruby.html

対談のなかでMatz氏がそのように言っていた。
パフォーマンスが出ないが将来性があるっていう特徴が10年前のJavaそっくりだって
 
この話だけ聞くとああ、RubyってJavaより10年後輩くらいなんだなって思うんだけどそうでもない。実はRubyの方が先輩言語らしいのだ。今回の記事では、この2言語の足跡を軽く探ってみようと思う。

 
↓Ruby誕生は1993年
http://www.ruby-lang.org/ja/man/html/FAQ_B0ECC8CCC5AAA4CABCC1CCE4.html#a1.2e3.20Ruby.a4.ce.ce.f2.bb.cb.a4.f2.b6.b5.a4.a8.a4.c6.a4.af.a4.c0.a4.b5.a4.a4

↓Java誕生は1995年
http://www.nextindex.net/java/app/history.html

Javaの元言語OakにまでさかのぼるとJavaは1991年誕生ってことになるようだけど、それでもほんの2年先輩なだけ。実は同じくらいに生まれた言語だった。

Javaのスタートダッシュのすごさ

でも何でかしらないけどJavaの方は生まれてからいきなり注目されだす。当初はJavaアプレットという動的なホームページを実現する機能として世間に認知されていた。まだJavaScriptやFlashが生まれる前の話だ。細かいこというとJavaScriptの前身のLiveScriptと同時期なんだけど、Javaが注目されてたからLiveScriptをJavaScriptって名前に変えてこの時点でJavaScript誕生なので話を丸めるとJavaが先ってこと。

この当時Rubyは何してたのか、ちょっと調べても何にも情報が出てこないので、多分何も注目されてなかったのだろう。でもこれはRubyの実力不足ってわけではたぶんないと思う。だいたい現在いろいろ話題を振りまいてるPHPだってその普及バージョンであるPHP4がリリースされたのはPHP開発(1995年)の5年後、2000年のことだ。むしろ生まれてすぐに注目されたJavaがすげぇんだ。

参考: 1995年のシングル売り上げTOP5(オリコン調べ)
 1
LOVE LOVE LOVE/DREAMS COME TRUE
 2WOW WAR TONIGHT 〜時には起こせよムーヴメント/H Jungle With t
 3HELLO/福山雅治
 4Tomorrow never knows/Mr.Children
 5シーソーゲーム 〜勇敢な恋の歌〜/Mr.Children


堕ちるJava

でもこの好調も、Microsoftと反目したあたりで終わりを告げる。MSが独自に拡張したJavaVMの実装にJava開発元のSunが反発、ライセンス違反で提訴したのだ。その時1997年。

http://pc.watch.impress.co.jp/docs/article/971009/kaigai01.htm

↑10年も前の記事が未だに見れるっていいねえ。

結局裁判では勝ったJava陣営だけど、そのせいで一番の大手プラットフォームだったWindowsでの普及は進まなくなり、その後はクライアントサイドからは一時姿を消すことになったのだ・・・

で、このころRubyは何をしてたかというと、やっぱり何もしていない感じ。Pythonに追いつけとか言っていたんじゃないだろうか。

参考: 1997年のシングル売り上げTOP5(オリコン調べ)
 1
CAN YOU CELEBRATE?/安室奈美恵
 2硝子の少年/KinKi Kids
 3ひだまりの詩/Le Couple
 4FACE/globe
 5STEADY/SPEED
そういえばLe Coupleって今何してるの?

主戦場、サーバサイドに移る

しかしその後、Javaのクロスプラットフォーム環境で開発/実行できる特徴がうまく生かされて、主にWebアプリを開発する言語としてJavaが再び注目されるようになった。Windowsで開発してLinuxで動作とか簡単にできたんだね。このころにはJavaはバージョン1.3になっていて、今持っているJavaの機能の主要部分はだいたい実装していた。

あと、2001年に統合開発環境のEclipseがオープンソースとしてリリースされた。これが大きい。当時Javaの開発は主に秀丸でやるものだった(ソースは俺)ので、ビルドにも注意を払い、メソッドひとつ使うにもいちいちAPIを参照しなきゃいけないなどめんどくさかったんだけどEclipseが出てきてからはそれがものすごい楽になった。特にStrutsとか。

そうそう、2001年はBorlandがDelphi6を無償配布してくれた年でもあり、統合開発環境の当たり年だった。で、俺はこの時期あたりからプログラミングを趣味にするようになったんだった。俺と似たような人は多いんじゃないだろうか?まあDelphiは大変残念なことになったんだけど。

で、この時期にRubyはRubyを256倍使うための本とかの小冊子を出して、徐々に活躍場所を見出そうとしていた。が、狙う場所がWSHとかパーサジェネレータとかニッチもいいとこだったので、面白そうだけど使いどころがわからなかった。このころまだPerlを仮想敵国にしていた印象。

参考: 2001年のシングル売り上げTOP5(オリコン調べ)
 1
Can You Keep A Secret?/宇多田ヒカル
 2M/浜崎あゆみ
 3PIECES OF A DREAM/CHEMISTRY
 4波乗りジョニー/桑田佳祐
 5恋愛レボリューション21/モーニング娘。
このころ宇多田があんなにオタクだとは知らなかったよ。

Railsの快進撃

そうそう、21世紀になったあたりでは普通の趣味人は生でHTML書いたりPerlでCGI作ったりなんかしなくなって、もうWikiとブログで個人サイトを持つようになった。ブログが注目され始めたのは同時多発テロあたりからか。それまではホームページ持ってる人はPerlかPHPで掲示板を設置するのが当たり前だったんだけど(ソースは俺)、ブログが流行った時代からはPerlもPHPも触る人は少なくなったね。あとHTMLのマークアップの是非について論争する人もいなくなったというか。

と、すっかりCGI自体が下火になり、CGIが主戦場であったPerlの注目度が下がっていった時代。当初Perlの後釜に座ることを目標にしていたRubyもこのまま消えるかと思ったらキラーアプリRuby On Railsがいきなり現れた。2004年のことだ。

最初何ゆえ今頃Rubyよ?と思っていたら、あれよあれよの間にWeb上の話題をさらっていた。このRailsの登場以来、RubyのライバルがPerlやPHPやPythonではなく、いきなりJavaにかわっていたように思う。まったく時代が変わったものだ。

そういえばちょうどこの時代、サーバーサイドJavaの肥大化が問題になっていて、軽快なJavaとかいう本が現れてEJBは肥満児とかボロクソに言われていた。汎用性を求めて際限のない肥大化を繰り返した結果、いつのまにかJavaはどうにもこうにも使いづらい多層レイヤーを抱えてしまったらしい。なんかXMLみたいね。

http://www.amazon.co.jp/%E8%BB%BD%E5%BF%AB%E3%81%AAJava%E2%80%95Better-Faster-Lighter-Java-%E3%83%96%E3%83%AB%E3%83%BC%E3%82%B9%E3%83%BB/dp/487311201X

そういう時代にちょうどRailsがはまって、今に続く快進撃となっております。

という流れ。こう見ると、Rubyが浮上したのって本当に奇跡のようなタイミングだったんだね。もちろん言語そのものの実力がなければ10年の下積みを経て復活することはなかったんだろうけど、世の中には素養がよくても日の目を見ないまま忘れ去られていく言語もいっぱいあると思う。その意味ではRubyと、あとAjaxで復活を遂げたJavaScriptは本当に運がよかった。2004年は実力のある言語の再発見の年だったんじゃないだろうか。

最後にお約束なので2004年のオリコン貼るか。

参考: 2004年のシングル売り上げTOP5(オリコン調べ)
 1
瞳をとじて/平井堅
 2Sign/Mr.Children
 3Jupiter/平原綾香
 4花/ORANGE RANGE
 5掌/Mr.Children

って調べて思った。ミスチル、1995年にも2004年にも登場してる・・・!!

今回の記事の結論

ミスチルがすげえ
posted by LoyalTouch at 23:35| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック