イマドキのIDE事情 第1回「Java8、主要IDEの対応状況は?」
skill

イマドキのIDE事情 第1回
「Java8、主要IDEの対応状況は?」

2014.03.18

ent16_img01.jpg

2014年春にリリースされるJava8は長らく期待されていたラムダ式が遂に導入されるなど、JavaSEでは久しぶりの大型アップデートとして注目を集めている。当然のことながらEclipse、NetBeans、IntelliJといった主要なJava IDEでもJava8への対応が進められているが、現時点での各IDEの対応状況はまちまちだ。

主要IDEでの現時点でのJava8のサポート状況を探ってみたい。(竹添直樹

■ すでにJava8対応済みのNetBeans、IntelliJ

NetBeansとIntelliJはそれぞれNetBeans 7.4、IntelliJ 12でJava8に対応済みだ。こちらからダウンロードできるJava8のプレビュー版とあわせてインストールすることでなんの問題もなくJava8によるプログラミングを行うことができる。以下はIntelliJでラムダ式を使用したコードを記述した場合の例だ。エラーもないし、引数の型を省略したラムダ式の引数に対しても正しくコードアシストを行えていることがわかる。

ent16_img02.jpg

IntelliJでラムダ式を記述しているところ


もちろんメソッド参照についてもコードアシストが可能だ。

ent16_img03.jpg

メソッド参照のコードアシストも可能


また、IntelliJには以下のようにラムダ式に置き換え可能な部分を自動的にチェックして警告してくれる機能などもあり、基本的な機能だけでなく、すでにコーディング支援のための機能の作りこみも始まっているようだ。

ent16_img04.jpg

ラムダ式に変換可能なコードの自動チェック

■ いまだ対応途中のEclipse、LunaでJava8をサポート予定

Eclipseは今年6月にリリースされるLunaでJava8が正式にサポートされる予定だ。Eclipseは年一回、毎年6月にバージョンアップを行うという方針を取っているため、サポート時期が遅れるのは致し方ないところだが、開発中のJava8サポートが以下の更新サイトで提供されており、これをインストールすることでEclipse上でJava8を試すことができる。

更新サイトのURL : http://build.eclipse.org/eclipse/builds/4P/siteDir/updates/4.3-P-builds/

上記の更新サイトからJava8サポートをインストールすると以下のようにJavaコンパイラの設定で「1.8(BETA)」を選択できるようになるのでこれを選択することでEclipseでもJava8の構文を使用できるようになる。

ent16_img05.jpg

コンパイラの設定でJava8が選択可能になる


ただし、まだ開発中のためか動作の怪しい部分も多い。たとえばラムダ式の引数の型を省略した場合に適切なコードアシストが受けられなかったり、ときにはコンパイルエラーとして報告されてしまうといったケースも見受けられた。メソッドの参照の補完もまだサポートされていないようだ。

ent16_img06.jpg

正しいはずのコードがエラーになってしまう


EclipseのJava8サポートは実用はもちろんのことJava8を試すための環境としてもまだまだ難があるというのが実情だ。Lunaのリリースまでに改善されることを期待したい。

■ まとめ

現時点でJava8を試すのであればNetBeansやIntelliJをおすすめしたい。これらはすでに正式にJava8がサポートされており、特にプラグインなどを追加インストールしなくてもJava8を使用することができる。一方でEclipseでは開発中のプラグインをインストールしないとJava8を使用できないうえに、動作にも問題がある。リリーススケジュールが固定されているため対応が遅れているのは仕方ないところだが、いち早くJava8を試したいと考えているEclipseユーザにとっては残念な状況と言えるだろう。

特にNetBeansとの比較では、これまでコーディングに関する機能面ではEclipseが優っているものの、標準仕様のいち早いサポートがNetBeansの特徴とされてきた。しかし、最近ではNetBeansも機能面で決してEclipseに引けを取らないレベルになってきたし、Java IDEの老舗であるIntelliJも無償で利用可能なCommunity Editionの提供を開始するなどEclipseの優位性が崩れつつある。Java8の登場がEclipseからユーザ流出のきっかけになる可能性もあるのではないだろうか。

原稿:竹添直樹
株式会社ビズリーチ所属。Scalaを愛するJVM系プログラマ。業務の傍らOSS開発や執筆活動を行っている。
https://twitter.com/takezoen
※本連載は2013年11月28日にマイナビニュースに掲載された記事からの転載です。

この記事はどうでしたか?

おすすめの記事

キャリアを考える

BACK TO TOP ∧

FOLLOW