スキルアップコラム:まつもとゆきひろ氏に聞く、Rubyの未来 その2

前回はRubyが優れている点や改善が必要な点についてご紹介しました。
今回はRubyの活用分野のほか、新しい技術に対する日本とアメリカの対応の違いについてもお伝えします。

2010年10月20日掲載

Rubyが向かないと思われていた分野にも活用範囲が広がる

− Rubyは実際どのような分野で使われているのでしょうか。

Rubyアソシエーション
理事長 まつもとゆきひろ氏

まつもと:1999年に最初のRubyの本を出版したのですが、そこに「Rubyが向かない分野」として、携帯のような小さいコンピュータとスーパーコンピュータのような大きなコンピュータと書いたのです。ところが最近は、これらの分野でもRubyが使われるようになってきました。携帯電話については性能が格段に進歩したせいもあって、携帯にRubyをのせましたという話を聞きましたし、スーパーコンピュータでは、異常気象の研究をしている方がデータ抽出の際にRubyを使用しているという事例を聞きます。

その他には、海洋ロボットに指示を出すのにRubyを使っていたり、イギリスのパブにあるワールドカップトリビアというゲーム機に使われていたり、RPGを作る市販ソフトでも使われていて、ゲームの世界にもRubyが広がっています。意外な例としては、スペースシャトルのチャレンジャー号の爆発に関するデータ分析にRubyを使ったということを聞いたことがあります。NASAでも使用されていたのには驚きました。「NASAで使われた技術」というと、なんだか通信販売のキャッチコピーのようですよね。(笑)

WebサイトでRubyを使っているところは本当に多いです。レシピサイトとして有名なCOOKPADは全てRubyで動いていますし。Webでいろいろと調べものをしているときに「こんなところにもRubyが使われているのか」と分かるとびっくりしますね。

− さまざまな分野で Rubyは使われているのですね。
 今後活用されると思われる分野はありますか。

まつもと:先ほどの小さいコンピュータと大きなコンピュータの話でいうと、まず小さいコンピュータではDVDプレーヤーのようなデジタル家電です。デジタル家電の操作はソフトウェアで制御していることがほとんどですから、そこにRubyを活用できないかと。Rubyが動くレベルのコンピュータを家電に搭載しようとすると製品原価が上がってしまうため、現時点だと価格面で折り合いがつきません。けれども、徐々にコンピュータの性能は上がり価格は下がってくるでしょうから、数年のうちには実現するのではないかと思っています。

大きいコンピュータだと、高性能計算 (HPC: High Performance Computing)の領域ですね。こういったマシンを使う方は、天文の専門家や流体力学の専門家など、研究者が多いです。彼らはプログラマとしてはプロではありませんから、楽にプログラミングできて、本来の研究にすぐに取り掛かりたい、というニーズがあります。先ほどお話したパフォーマンスの部分が改善されれば、現実味を帯びてくるのではないでしょうか。

Rubyの生産性の高さを武器に!

−Rubyを応援している地方自治体の話を耳にしますが、自治体での活用事例はありますか。

まつもと:私が住んでいる松江市や島根県、福岡県がRubyを応援してくださっています。そういったところでは入札の際に「Rubyを使用すること」といった条件を設けるところも出てきています。 また、中国経済産業局や九州経済産業局のように、民間にRubyを使うことを奨励するように働きかけているところもあります。

自治体などが後押しするかどうかはともかく、Rubyの生産性の高さを武器にする企業が出てきてもいいと思います。一例として、島根県のホームページを管理するシステムの入札を紹介しましょう。 この入札では、Rubyで開発という条件がなかったので、市販のパッケージソフトを購入し、一部カスタマイズして納品する企業と、Ruby on Railsでゼロからつくって納品する企業の2種類の提案がありました。

島根県側の要求として、ハンディキャップを持った方への対応がありました。色や文字サイズの設定変更や、掲載内容の読み上げといった機能です。パッケージソフトを選択した企業は、そういった部分のカスタマイズに工数がかかることになってしまい、結果的にRuby on Railsでゼロから作って納品する企業の方が安かったのです。

また、島根県が行った別の入札では、Rubyで開発という条件が盛り込まれていました。大手企業は「責任を持ってRubyで開発できない」と判断して入札に応じなかったため、通常は大手企業の二次請け、三次請けを行っている企業が落札した、ということがありました。この企業は日頃からRubyエンジニアの育成に力を入れていたのでしょう。二次請け、三次請けの企業はもともとコスト意識が非常に高いうえに、さらにRubyの生産性の高さを生かして、かなり抑えた金額で提案したようです。

−自治体の側からしても「この値段でできるのだ」と驚きますよね。

まつもと:価格破壊が起こりますね。日本の硬直化したIT産業の構造を一部でも打破できた事例だと思います。Rubyの生産性の高さやオープンソースが、そういったキーテクノロジーの一部になりえる、というのは嬉しいことですよね。産業構造の正常化は、エンジニア個人の環境を変える一助にもなるのではないかと思います。

今までは一次請けの企業からの情報を元に開発を行っていたのが、発注元から直接要望を聞いて開発を進められるわけです。情報に間違いがないですし、時間の短縮にもなります。エンジニア一人一人のモチベーションも上がりますね。

新しい技術に対する日米の温度差

−日本以外で活用されている国はありますか。

まつもと:やはりアメリカでの利用が非常に多いですね。新しい技術は分からないことも多いので失敗することもあり、利用にはリスクが伴います。そのリスクをどのようにとらえるか、というのは一つの文化だと思うのです。アメリカのIT産業ではベンチャー企業が多く、「とりあえずやってみよう!」みたいなことがありますね。(笑)

普通、新しいビジネスにあまり有名ではない技術を使う場合、「情報はどうやって手に入れるのか?」や「エンジニアをちゃんと雇えるのか?」といったことを思って躊躇するのが普通だと思います。ところがアメリカのベンチャー企業、特にシリコンバレー付近で起業した人たちの場合は新しい技術を採用する傾向がとても強いように感じます。日本と違って、失敗しても許される社会、何度でも起業できる社会、ということも背景にあるのかもしれませんが。

−作るのが簡単、という点がベンチャー企業に多く採用された理由でしょうか。
 日本でも同様の理由で採用が進んだのですか。

まつもと:新しくビジネスを始めるときは、途中まで作ってからビジネスを軌道修正することも多々あります。今あるソフトウェアを改修して現在のレベルに到達するまでやり直すのに3週間かかるとなったら、「じゃあ改修しないでそのままでいこうか」という結論を出す場合もあると思うのです。
一方、15分で改修が済むのであれば、「じゃあやり直してみるか」という気になるわけですよね。 15分か3週間か、というのは時間的なものだけではなく、ソフトウェアそのものの質的な差を生んでしまう場合もあります。改修に時間がかからなければ、「ここをもう少し直してみよう」といった前向きな発想も生まれるので、その結果、より質の高いサービスが完成する可能性が高くなります。

日本はアメリカに比べてベンチャー企業が非常に少ないという違いがあるので、Rubyの利用状況について一概に比較はできません。日本企業では一般的に、プロジェクトに新しい技術を採用して失敗した場合、責任は何処が取るかという話になってしまいます。そうなると誰も知らない技術に飛びつくのは難しくなりますね。

Rubyの活用状況を時系列で紹介すると、2004年にRuby on Railsが発表され、2005年から2006年にかけてアメリカ西海岸のベンチャー企業がRubyを採用し始めました。2006年後半から2007年にかけて成功事例が増えてくると、Rubyを採用する企業が増えてきました。そうすると採用リスクは下がってきます。
そして2007年になってようやく日本のビジネスでRubyを使おうという話が出てきました。アメリカとは2年近く遅れているのです。

−日本は新しい技術に対して随分と保守的なのですね。今後ビジネス面での活用が
 ますます増えてくると、日米ともにRubyエンジニアが足りなくなるのではないですか。

まつもと:そうですね。実際足りないと感じています。特にシリコンバレーだと優秀なエンジニアは本当に取り合いになっています。昨年Rubyカンファレンスがシリコンバレーで開かれたのですが、「アメリカって景気悪いんじゃなかったの?」と思うくらい採用活動が活発でした。その傾向がまだ続いているようです。最近Rubyを勉強しました、というエンジニアではなく、もうワンランク上の人だと年収が日本円で1千万円からという場合もあるようです。

日本でももっとエンジニアの待遇を改善していかないといけないと思います。3Kといわれてしまうエンジニアですが、Rubyを武器にその世界から脱出した人も中にはいるので。Rubyを知っていることで、もっとエンジニアに理解のある会社に転職できた、という例もあるようです。新しい技術にアンテナを張っていることによって、自分の待遇を改善できる、ということは日本でもあると思います。

学んだ知識を仕事で生かそう

−最後にRuby技術者認定試験合格を目指す方へのメッセージ、アドバイスをお願いします。

まつもと:試験を「知識を身につけるための道具」として活用して欲しいですね。SilverやGoldの試験問題は、実際の業務でも役立つように考慮して作られています。試験で点を取るだけではなく、試験のために身につけた知識を実際にRubyを使うときに役立てもらえるといいなと思います。

せっかく知識を身につけるのですから、四択問題をこなしていくというのをゴールにするのではなく、知識を仕事に生かすことをゴールにすれば、試験のために勉強する価値も出てくるのではないでしょうか。

(文中敬称略)

取材を終えて-

Rubyの活用事例をお聞きした際、NASAの話からクマムシに関する雑多な情報を集めた「クマムシゲノムプロジェクト」のWebサイトにRubyが使われている話まで、次から次へといろいろな事例が出てきたことから、さまざまな場面でRubyが使用されていることを実感しました。

Rubyのビジネス面での利用が今後も増えていけば、知識を証明するための認定試験制度の重要性は高まってくると思います。Rubyの知識レベルを第三者に証明するため、または知識を身につけるための道具として、認定試験制度を活用してみてはいかがでしょうか。

プロメトリック株式会社
鹿倉 一葉

本ページに記載された情報は初掲載時のものであり、閲覧される時点では変更されている可能性があります。何卒ご了承ください。