Matz:コード補完を実現しているのがすごい--CodeGear Ruby IDE

大野晋一(編集部)

2007-06-05 13:41

 まつもとゆきひろ氏が「元々は趣味プロジェクト。自分でできる範囲でがんばってきた」というRuby言語の開発、趣味から始まり、アーリーアダプターたちに受け、現在はRuby on Railsによる注目もあってアーリーマジョリティーからレイトマジョリティーの境目というとことだろうか。

 こうした出自も手伝って、普及するにはいま一歩な点もある(どの言語も最初はそうだ)。「IDEや高速なコンパイラなどは一人で手がけるには無理があった」とまつもとゆきひろ氏。しかし、状況は変わりつつある。NetBeans 6でのRubyサポート、Eclipseで使用可能なRubyプラグイン、Rubyを高速に実行可能なYARVなどなど、「様々な投資により、様々な特徴を持つ製品が出てきて、切磋琢磨している」(同氏)。

 5月14日、CodeGearはRailsConf 2007においてRubyの開発を強力にサポートする統合開発環境を発表した。5日、このRuby IDEが、都内で開催された「第5回 CodeGear デベロッパーキャンプ」にて国内お披露目となった。まつもとゆきひろ氏もこの場に現れ、「若かりしころ、Turbo PascalやTurbo Cでプログラミングをしていたことがある。そのBorland(現CodeGear)が自分のデザインしたRubyをサポートするのは光栄」と賛辞を送った。

 CodeGearのRuby IDEは2007年後半に提供開始予定。Windows/Linux/Mac OS Xがサポートされる。ちなみに、同社サイトでも「Ruby IDE」という表現が使われているが、これは仮称で正式な名前は提供開始までに決定されるとのこと。

 まつもとゆきひろ氏は、「かつて、初学者が学ぶ言語には制限が多かった。Basicしかり、PHPしかりだ。Rubyは言語自体が持つ制限が少ない。最初は少し大変かもしれないが、それを乗り越えると可能性が広がる」と振り返り、「IDEによってこの障壁が下げられる。初学者の可能性が非常に広がる」とRuby IDEの登場を歓迎する。

 CodeGearでRuby IDEの開発を担当したShelby Sanders氏も「ビギナーとエキスパートが両方満足できる設計とした」とする。ウィザードやビジュアルデザイナを多用し、早く成果物を作りたいという要望と、エディタやコマンドラインを多用し、長期的に生産性を上げたいという要望をともに満たすよう留意した。

 具体的には、Rubyのランタイムはもちろん、Rails、gems、必要なライブラリ、データベースを含むオールインワンのインストーラを提供。また、ウィザードでアプリケーションのロジックコードを生成可能となっている。RailsそのものとIDEの使い方を学習可能なビデオチュートリアルも提供される。

 一方で「コマンドラインの操作性はRails開発のキー」と同氏。RailsスクリプトをIDE内から容易にアクセスできるようになっている。特に、同社がLiveCommandと呼ぶ機能によって、「今何をしているかというコンテキスト情報から、スクリプトの実行を簡単にしている。Railsスクリプトに対しても、コマンド名やオプションに対する補完が可能」(同氏)となっている。

 動的に実装された機能も含み、RubyおよびRails固有のコード補完とリファクタリングをサポートしている点も大きな特徴。「Rubyは動的言語なので、IDEを作る人間にとっては”地獄”のはず。にもかかわらず、コード補完を実現しているのがすごい」(まつもとゆきひろ氏)。動的型付けの言語は実行されるまでどのメソッドが実行されるか予想が難しいという特性があり、コード補完の実装は一般的に困難だ。Shelby Sanders氏は「Railsは規約があるので、これを頼りにがんばった」とする。

 その場でアプリケーションの実行と確認が行える組み込みのウェブサーバや、JavaScriptなどRailsをつかったウェブ開発で使われるものをまとめてデバッグ可能な点も便利だろう。

 CodeGearでデベロッパーリレーションズを担当するDavid Intersimone氏にRubyの未来について聞かれたまつもとゆきひろ氏は「(具体的な)未来はわかりませんが」と前置きした上で「これからのキーワードはスケーラビリティ」とする。「たくさんの開発者たくさんのチームによって開発される、巨大なデータやトラフィックを扱う、マルチコアなどの巨大なマシンリソースをフルに活用する――こうしたスケーラビリティを追求したい」(同氏)。

とはいえ、一般的な用途についてはすでに充分と見ているようだ。「(今現在)エンタープライズで使えるかといわれると、イエス。例えば、(Railsで作られた)Twitterは毎秒1万以上のアクセスを受けたことがあるという。これは、エンタープライズでの使用でも充分だろう。そこからさらに先、GoogleやeBayクラスのものを作りたいという要望のために拡張したい」(同氏)。

「気象解析をはじめとしたスーパーコンピューティングなど、当初期待したよりはるかに広い範囲でRubyが使われはじめた」とまつもとゆきひろ氏。それでも同氏は「Rubyでプログラミングをすることを楽しんで欲しい」と楽しむためのRubyを強調する。CodeGearのRuby IDEはプログラミングを楽しむ助けになるだろう。

 その次は「Rubyを使ったビジネスをして欲しい」(同氏)とする。様々なビジネスがRubyを使ってくれたおかげでCodeGearのRuby IDEのようなものが登場したわけだ。同氏は、おなじようにして、様々なことがうまく回っていくことを期待するとする。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]