NetBeans "エルゴノミクス" IDE (2) : 大きくなった IDE の問題点
なぜ「エルゴノミクス」が必要なのか
現在の NetBeans は機能拡張がすすみ結果として大きな IDE になってしまいましたね。NetBeans 6.0 でそれまで "アドオン" として提供していた以下のパックと呼ばれるもモジュールを IDE 本体に追加しました。また Sun Studio Creator や Sun Studio Enterprise の有償ツールの機能も統合してきました。
- CND (C/C++)
- Profiler
- VisualWeb
- UML
- SOA
- Ruby/Rails
- Groovy/Grails
- PHP
- JavaScript
- Mercurial
- Subversion
- CVS
- ローカル履歴
大きな IDE の問題点
IDE 自体の機能が増えてサイズが大きくなるとどのような問題が起きるのでしょうか。ここでは「使っていない機能がもたらす悪影響」について書かれています。ここでは「フル機能 IDE」=ダウンロードページで「すべて」を選んでダウンロードした全機能入りの IDE、「Java SE IDE」=Java SE を選んでダウンロードした Java SE 機能のみ入った IDE、としています。
- 起動時間
フル機能 IDE と Java SE IDE を比べた場合はフル機能 IDE が 30% も起動時間が遅いのだそうです。また Java SE プロジェクトを開いた状態で起動させた場合にもフル機能 IDE のほうがプロジェクトが開いてない場合とくらべてより遅くなるみたいですね。
- 読み込む必要のあるクラス
機能が増えれば当然読み込む必要のあるクラスが増えてしまいます。これらがすべて使う機能に関係するクラスであればよいのですが、ほとんどは1度も使うことのないクラスだったりします。Java SE プロジェクトを開いていた場合、Java SE IDE よりフル機能 IDE のほうが 1000 以上のクラスを余分に開いているそうです。
- バグ
さまざまなプロバイダ/フック/リスナーがいろいろな場所に存在しそれがバグを引き起こす可能性があります。一般的な問題はメモリリークです。また特定の操作のパフォーマンスが低下したことも実際にあったようですね。
- ナビゲーション
多くの機能があればメニューも多くなりますね。通常のメニューやコンテキストメニューには多くの機能が追加されていることになります。また選択を変更した場合(タブの切り替えや、エクスプローラでのファイル選択の移動など)、登録してあるリスナーが多ければ多いほど多くの処理をしないといけないことになりますね。
その解決策
このページにはとても興味深いことが書いてあります、「ほとんどのユーザーは『すべて』を選んでダウンロードする」んだそうです。その「フル機能 IDE」をより速く、より小さく動かすように今回の「エルゴノミクス」機能の導入になったわけですね。



