組み込み開発にも高い生産性を――製造業技術者に“軽量Ruby”「mruby」アピール:ETWest2012(1/2 ページ)
コードの肥大化/開発期間短縮/コスト削減などで厳しさを増す組み込みソフトウェア開発に、Rubyの高い生産性が期待されている。ETWest2012の基調講演で、まつもとゆきひろ氏が話題の組み込み機器向け“軽量Ruby”「mruby」について語った。
組み込みソフトウェアは機器制御など製品の根幹をなす役割を担っていることから、高い信頼性・安全性が求められる。それだけにソフトウェアは高品質なものが要求され、バグ対策も含め開発は容易ではない。近年ではプロセッサやメモリなどハードウェアの高性能化によってソフトウェアのコード量も増大。さらにその一方で、開発期間は短縮されて開発コストも削られる傾向にあるなど、ますます開発が困難な状況になっている。
そんな組み込みソフトウェア開発に、ハイクオリティかつ高い生産性をもたらすのでは、と期待されているのが「Ruby」だ。
西日本唯一の組み込みシステム技術専門展示会「Embedded Technology WEST(ETWest)2012」(2012年6月14、15日開催)の基調講演で、ネットワーク応用通信研究所 フェローのまつもとゆきひろ氏が登壇。「広がるRubyの可能性」と題した講演の中で、2012年4月にリリースされた話題の組み込み機器向け“軽量Ruby”「mruby」について語った。
Rubyはまつもと氏によって開発されたオブジェクト指向のスクリプト言語だ。テキスト処理関係の能力に優れ、シンプルな文法や例外処理機能、イテレータ(繰り返し制御のユーザー定義の制御構造)などによって分かりやすいプログラミングができるため、ソフトウェア開発の生産性を高める効果があるということで注目が集まっている。
まつもと氏は講演の冒頭で、近年Rubyが世界中で普及している状況を説明した。
「ある調査会社によると2008年の時点でRubyユーザーは100万人との試算があった。最近でも毎週のようにRubyのカンファレンスが世界中のどこかで実施されていることを考えると、この数字はあながち外れてはいないだろう。インターネットのトラフィックからプログラミング言語の人気ランキングを算出するサイトでは、150種類ぐらいのプログラミング言語の中でRubyは10位前後を推移している。少なくとも日本発のプログラミング言語としては一番使われているだろう」(まつもと氏)。
Rubyはその高い生産性から、Webサービスの開発に使われることが多い。小規模なWebサービスだけでなく、Twitter(現在は一部でRubyを採用)やクックパッド、食べログなど、大規模なWebサービスの構築でもRubyが活躍している。
「Webサービスだけでなく大学の研究機関をはじめNASA(アメリカ航空宇宙局)やNOAA(アメリカ海洋大気庁)といった政府機関、ゲノムの解析などにもRubyを使っている人がいる」(まつもと氏)。
まつもと氏によると、米国で起業するベンチャーの過半数はRubyを使っているとのこと。最近はベンチャーキャピタルが出資をする際、起業家に「あなたのビジネスを“ARC”でできないか」とアドバイスするそうだ。ARCのAはアジャイル(agile)でCはクラウド(cloud)、そしてRはRubyを指しているという。
「初期投資を少なく、サービスインを早く、開発チームを小さくすることで、ライバルよりも先んじてサービスを開始できる。それによって成功に近づくという戦略がここ数年のベンチャーキャピタルの傾向」(まつもと氏)。
“日本のRuby”から“世界のRuby”へ
2011年3月には、Rubyの技術規格書が「JIS X 3017」として制定された。JIS規格化されたことにより、Rubyの相互運用性が向上し、Rubyを用いてより生産性の高いプログラム開発・システム開発が可能になったといえる。
また2012年4月にはRubyが国際規格「ISO/IEC 30270」として承認された。Rubyが国際規格となったことで、Ruby言語仕様の安定性や信頼性が増し、Rubyを学ぶプログラマーの数、Rubyを採用する企業や組織の数が増大することが期待されている。
「日本発のプログラム言語がISO/IECの規格となるのは初めて。ISO/IECの規格化は、世界各国のたくさんの人による投票によって決められる。多くの賛成票が得られたことで“世界でRubyが支持されてるんだなあ”と感じている。もともと私が趣味で始めたようなRubyがJISやISOで規格化され、“日本のRuby”から“世界のRuby”になってきた」(まつもと氏)。
今や「Webに使われるプログラミング言語で主要かつ有力な選択肢の1つ」となったRubyだが、そのメリットについてまつもと氏は「短い開発期間」「小さいチーム」「未来の拡張性」の3つを挙げる。
「Rubyを使うとほかのツールを使うよりも、小さいチームで開発できる。チーム人数を減らすことができればコミュニケーションコストも少なくできるので、開発期間を短くでき、より成功に近づく。“遅延プロジェクトに人員を投入するとさらに遅れる”という『ブルックスの法則』の逆をいく考え方だ。また、市場の変化を受け入れるためにはプログラム言語やフレームワークが柔軟で、アジャイルであることが重要。アジャイルな開発に向いているRubyは、ソフトウェアの市場が将来変わったり、機能を追加したいといった時、未来の拡張性を担保しやすい」(まつもと氏)。
Copyright © ITmedia, Inc. All Rights Reserved.