Rubyist Magazine 第 12 号をお届けする。
今号は、ごとけんさん・ゆうぞうさん兄弟インタビューの後編となる「Rubyist Hotlinks 【第 12 回】 後藤兄弟 後編」、データ構造や制御構造の基本から CGI 特有の処理に触れつつ一行掲示板の作成までを行う「Ruby ビギナーのための CGI 入門 【第 2 回】 フォームを利用した CGI プログラム」、新連載として qwikWeb の概略と特徴、そしてプラグインも紹介する「qwikWeb の仕組み 【第 1 回】 コンテンツ・フレームワークとしての qwikWeb」、Rails を使った日本人向け Web アプリの開発に重宝するけどネーミングが微妙すぎる ActiveHeart を作者自身が解説する「RubyOnRails を使ってみる 【第 5 回】 ActiveHeart」、YAML で書かれた YAML スキーマという絶妙なスキーマバリデータ Kwalify の概要を紹介する「プログラマーのための YAML 入門 (検証編)」、Ruby で委譲をするのには欠かせない forwardable と delegate を紹介する「標準添付ライブラリ紹介 【第 6 回】 委譲」、「ぐ Ruby」として一躍脚光を浴びた Groovy を紹介する「Rubyist のための他言語探訪 【第 5 回】 Groovy」、YARV でのメソッド呼び出しについて、単純な例からブロックや super まで紹介する「YARV Maniacs 【第 6 回】 YARV 命令セット (3) メソッドディスパッチ」、そして「0012 号 読者プレゼント」、「0012-RubyNews」、「0012-RubyEventCheck」 と、いつものように盛りだくさんの内容となっている。
‘Spring is gone. It’s early autumn for Paul.’ ―― Early Autumn, Robert B. Parker
少し暗いことを書く。
来年、2006 年は、日本でも Ruby が流行することになるだろう。 もちろんきっかけは Ruby on Rails である。 Ruby が業務等で活用される事例が増え、Ruby の求人が増え、書籍等も相次いで出版される。 これは単なる希望的観測ではない。 すでに英語圏ではそのような動きがすでに起きている。日本でも同様のことが起こることは自然な流れである。
しかし、それは私達にとって、けっして喜ばしいだけの話ではないかもしれない。
Ruby の発展を季節に喩えてみよう。 Ruby の春は、おそらく 2000 年頃までだろう。 まつもとさんが一人で開発をしていたころから、ML ができ、それなりにユーザが増えてきていた時代にあたる。 区切りとしては、雑誌に掲載されたり、Ruby の書籍が出版されたりした時期だろうか。 この時代は、Ruby そのものの開発と Ruby のライブラリやアプリケーションの開発がそれほど離れていない時期だった。
その後に来たのは夏だった。 Ruby の面白さが Ruby 開発コミュニティ内外に伝わり始めた。 そこから生まれたのは、開発コミュニティとは距離のあるところにできるアプリケーションなどのユーザコミュニティだった。
そして 2005 年、収穫の秋が来た。 その前兆は、すでに 2004 年の Ruby Conference でもあったのかもしれない。 しかし、本格的になったのは今年の 1 月に『Rolling with Ruby on Rails』が掲載されてからのことだ。 その後の躍進についてはいまさら触れるまでもないが、とりあえずアメリカの書店の売上データによると、Ruby 本の販売実績は対前年比で 1552% であったらしい、という O’Reilly のページをリンクしておく。
そして、しかし、季節は巡る。秋の次には冬が来る。
Ruby が広く浸透するとどうなるだろうか。 まず、要求がシビアになる。 互換性の維持がうるさく言われ、ドキュメントの不備が叩かれ、開発体制やサポート体制についての批判が増える。 「これでは業務に使える水準に達していない」といった意見が陰に陽に囁かれる (もちろんそのような意見を言う者を尻目に、業務にも使われていき、ビジネス的価値を生み出していくところには生み出していくのだが、あまり皮肉を言っても仕方がない)。 Ruby に関係する怪しい業界団体を作ってみようといった、わけのわからない横槍も出てくるのかもしれない (日本 Ruby の会もわけのわからなさでは人後に落ちないとは思うが)。
Ruby の開発の停滞も懸念される。 ドラスティックな変更は、たとえどんなに優れたアイデアであっても、それがドラスティックであるというだけで歓迎されなくなるかもしれない。 クリティカルな部分については、文字通り「凍結」されることになりかねない。 もちろん、歓迎されるかされないかはおいておいて、ありうべき Ruby の形を目指して開発を進めることはできるが、様々な批判は前向きな開発者のやる気を殺いでしまう。
実りの秋を迎えた Ruby の未来には、このような負の側面がある。
「彼は短期間に大人になる必要があるんだ。独立できるようにならなければならない。 彼にとってはそれが唯一の途なんだ。彼は十五歳で子供であることを やめなければならない。」――ロバート・B・パーカー『初秋』より
求められていることは Ruby に個々人やコミュニティの「成熟」なのかもしれない。 カッコつきで「成熟」と書いたのは、別に他の言語のそれのようになるべきだとは思っていないからである。 成熟の形はひとつではない。 Web アプリケーションフレームワークにおいては、先行するフレームワークの追随ではなく、Ruby らしさを追求した Rails が広く注目を集めることができた。 同様に、Ruby の開発、もしくは Ruby による開発においても、先行する言語を真似ることが得策であるとは限らない。 Ruby が Ruby であることを、私たちが私たちであることを肯定した上で、より優れた形に収斂していくことは不可能ではないはずだ。
また、秋から冬にかけても、なすべきことはあふれんばかりにある。 Ruby 本体には入らないとしても、 Ruby のライブラリの整備は続くだろうし、またドキュメントや活用例なども求められている。
そして何より、Ruby 1.9/2.0 の開発がある。 冬の寒さを超えて、新しい Ruby が芽吹き、大きく成長していくための下地が作られるのは、まさにこの秋から冬にかけてのはずである。 次の Ruby の春は、間違いなくこの先にある。 いや、むしろそれ自体が春なのかもしれない。 そう思えば、寒空の下でも、たのしい Hack を続ける勇気も湧いてくる。 冬来たりなば、春遠からじ。
(るびま編集長 高橋征義)