2017年 Java向けIDE


正直申し上げまして、私のようなものが申すのもはばかる内容であります。
より博識で聡明な方々のまとめが随時ありますので。

とはいえ、一個人としての見解である、という前置きをしたうえで掲題の内容について述べるものです。

より良い記事を求められる方はどうぞ、改めて検索いただくことをお勧めします。
BlueJとかJgraspに至ってはもはや「そんなのあったのか」レベルです。

前置き

さて、前置きが長くなりました。
この場で対象とするのは以下の3つ。
そのうえで指標や基準は求めず、個人の使用感に伴う印象を述べます。

  1. Eclipse
  2. IntelliJ
  3. NetBeans

Eclipse

言わずと知れたデファクトぶり。
しかし昨今、「時代遅れ」、「遅い」、「重い」、「更新が間に合っていない」などの声も多く、往時の勢いを失いつつあります。

確かに言われる通り。
Java8、Java9やJavaEE7、JavaEE8への対応は牛歩めいたものを感じ、アーリーアクセスには使えない。
プラグインの起動やインデックスの構成でハングアップしてしまい、頻繁に開発環境をクリーンすることになる。
そのようなことも多いものです。
(アーリーアクセスとはそういうものだ、ハングするような環境構築が間違っていると言われてしまえばその通りなのですが。)

それでも蓄積されたプラグインや知見、利用者の母数から来る情報量には無視できるものではありません。
また、日本語の情報が豊富にあり、わからないこと、詰まったことがあれば検索をしてすぐ解決、ということも多いのは特筆すべきことでしょう。
インストールも簡易ですし、使用感もさすがデファクトといった感じでほかのソフトウェアで親しみのあるものがあったり、イニシャルコストは低いかと思われます。
まぁ、おそらくはEclipseが踏襲しているものと、Eclipseを踏襲したものがそうさせるのでしょうが……

メモリやディスク、CPUリソースの使い方は富豪的ですが、昨今のIDEにおいて「清貧であれ!」などというのも時代錯誤かと思います。

ユーザのスキルや、ツールの習熟度などを平滑化する意味での選択肢としては重要な位置を占めているのではないでしょうか。

IntelliJ

Eclipseが手堅く勇名を馳せた存在であるとするなら、IntelliJは破竹の勢いの新星でしょう。
(OSSなCommunity Editionの登場から大分経っていますが……)

界隈ではすでに地位を確かなものとし、入門記事や比較記事も多く、AndroidやJava8、Java9などの新しい環境への対応も早い。
強力なデバッグツールやコード補完機能、Gitをビルトインでサポートしている。
そのような特徴を持つため、先進的な要件を持つプロジェクトや、グループ内のエバンジェリストが使うなどに適するのではないでしょうか。

ただ、開発がチェコであることが原因なのか、なじみのないキーバインドやメニュー構造などの操作感がありますし。
コード補完が強力なせいなのか、非力なマシンだともっさり感じることもまま。
また、Community EditionではAPコンテナへのデプロイがサポートされていないといった難点があります。

NetBeans

Oracle謹製のIDEであり、Java公式としても強く推されるIDEです。
が。

OracleがNetBeansをApache Foundationに提供

うーん……
OracleがOSSって良いイメージ一切ないんですよね、Open Solarisとか。

使用感は良くも悪くも標準的で、キーバインドやメニューは慣れやすく、APコンテナのサポートもあります。
リソース喰いというわけでもないので汎用的に使えるソフトではあると思うのですが。

うーん……

結び

以上、私感を述べてまいりました。
結論としてはやはり「硬い場所ではEclipse」、「先へ先へと進むならIntelliJ」というイメージです。