[Analysis]

業務用途でRubyを使う上での課題

2007/09/10

ruby.gif

 Rubyがビジネスの現場で静かに普及し始めている。Twitterや、はてなスクリーンショットなど、Webサービスの開発フレームワークとしてRuby on Railsを使った例は、いまや珍しくなくなった。Rubyを普及推進する「Rubyアソシエーション」という法人格を持つ団体が設立されたことや、Rubyが一般紙などマスコミで取り上げられる機会が増えたことなどから認知が進んでいる。

 国内の大手でも、例えば楽天がRuby on Rails導入を進めている。楽天技術研究所の森正弥氏によれば、「現在、楽天で使う開発言語は40%がPHP、40%がJava、20%がその他」とRubyの利用率は低いが、内部的にRubyの利用を進めているほか、今後はユーザーの目に触れるフロント部でもRubyの適用を進めるという。

 7000台のサーバ、1000人の開発者という大所帯を抱える楽天だが、より広くRubyを使うに当たっての課題は、主に人的なものだ。「Rubyなら、あの人に聞けばいい、というRubyハッカーがまだ育っていない」(森氏)。PHPでは開発コミュニティと近しい関係を構築できているというが、Rubyでも同様のことが必要という。

業務用途にRubyを使う上での課題

 9月7日に行われたIPA未踏ソフトウェア創造事業の成果報告会で、次期Ruby VM開発者である笹田耕一氏の発表に続いて、「Ruby 1.9 〜これからの Ruby〜」と題したパネルディスカッションが行われた(参考記事:「Ruby 1.9は1.8より平均5倍速い」、YARV笹田氏)。話の中心は、今後、エンタープライズ系のシステムでRubyが使われるようになった場合、何が課題となるか、だった。

 伊藤忠テクノソリューションズ(CTC)の小島克俊氏は、まずはプログラマの教育が重要だという。Rubyアソシエーションは8月、Rubyの技術者認定試験を開始すると発表しているが、筆記試験とインターネットの両方を予定している試験はCTCが受託して行う。「いまのところ、Rubyを使っているのはアーリーアダプターで情熱を持っている人々。今後、専門学校で履修する言語としてRubyが指定されたり、会社に入ったらRubyしか選択肢がなかったという状況になれば普及していくのではないか」(小島氏)という。

 そうしたとき気になるのは、既存のメジャーな開発言語、Javaとの関係だ。『JavaからRubyへ――マネージャのための実践移行ガイド』の訳書もある永和システムマネジメントの角谷信太郎氏はJavaの未来について、こう語った。「Javaは21世紀のCOBOLだと言われるが、それはネガティブな意味ではない。COBOLはいまでも使われて動いている、偉大です。Javaもそうした安心感のある言語として使われていくだろう」。Javaは強い型付けや厳密な例外処理の扱いなどプログラムのスタイルがカッチリしており、明示的にコードを書く必要がある分、大規模なチーム開発に向くと言われている。逆にRubyではクラスの定義を書き換えてしまうこともできるオープンクラスなどRubyの自由度が高い分、開発チームに“やんちゃな人”が1人いればトラブルを抱え込む要素も持っている。これは机越しに互いに顔が見える程度のチーム規模であれば問題にならないわけで、角谷氏は「いかに少ない人数でたくさんの画面を作るか」も重要だという。永和システムマネジメントは社員200人と規模が大きくないこともあり、独自色を出すために早くからRuby採用に踏み切った事情もあるという。

 チーム開発でRubyを使ったときに今後起こりえる問題として、サン・マイクロシステムズ システム技術統括本部 チーフテクノロジストの下道高志氏は、こう指摘する。「他人の書いたPHPコードのメンテナンスはできない。Rubyはどうかといえば、現状はいい。しかし今後“職業プログラマ”ではなく、渡された仕様書を実装する“サラリーマンプログラマ”が増えてくると、コードのスパゲッティ化は避けられないだろう」。また、JavaとRubyの棲み分けについて下道氏は、Java VM上のRuby実装である「JRuby」に深くコミットするサンの立場から、「JRubyはJava資産をRubyで活用するもので、Javaプログラマが広く活躍できる場を提供する」と話す。今後はJavaで書かれた既存システムをRubyで運用・管理するケースも増えるだろうという。

 パネルディスカッションで印象的だったのは、楽天の森氏も、CTCの小島氏も“Rubyの楽しさ”を強調したことだ。小島氏は言う。「Rubyを使うようになってから、プログラマが幸せそうに働いているんですよ。このインパクトは大きい。朝から黙々とキーボードを叩いている姿は、今日も会社に行くの嫌だなと思うのとは大きな違いです」。森氏も異口同音だ。「エンジニアが楽しそうで仕事が活発になった。Rubyが広がることで日本が元気になればいい」。

(@IT 西村賢)

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)