#jjug ナイトセミナー「3大IDE頂上決戦 」に参加してきた

久しぶりに JJUG のナイトセミナーに参加してきました。勉強会は今年初かな?

早速 @yamadamn さんが Togetter にまとめてくださっていました。

最初にどの IDE を使っているか挙手がありましたが、会場では Eclipse が圧倒的に多い印象でした。色々と dis はみかけますが、やはり人気は根強いですね。なお自分は Eclipse から NetBeans に乗り換えたクチです。

NetBeans

Oracle の片貝さんによる発表。ほとんどコーディングなしで、流れるように淡々と機能を作っていくデモが印象的でした。昔 EclipseJPA の設定に四苦八苦したりしたものですが、 NetBeans だと IDE がよろしくやってくれるのでほんとポチポチやってけば動くものができちゃったりするんですよね。

発表の中でもありましたが、 NetBeans はインストールしたらほぼ素の状態でもすぐに使えるというのが嬉しいと思います。 Eclipse だとアドオンいれたりなんやかんやで使えるようになるまで半日かかったりしてたので。あと Maven との親和性が高いのも良いですね。 Eclipse だとry

そういえばデフォルトで日本語化されてるのはこの中では NetBeans だけだったりしますね。 Oracle 謹製だし高機能なのになぜかマイナー感が拭えないのはなんなんでしょう。 UI が残念というのはありますが。あれなんとかならんのかな。

IntelliJ IDEA

IntelliJ の代理店でもあるサムライズムの @yusuke さんによる発表。今回の中では唯一の有償 IDE 。開幕から勝利宣言出てましたw

IntelliJ は未だにちゃんと使ったことがないのですが、無償 IDE がこれだけ普及している Java において有償にもかかわらずこれだけの人気を得ているということで気になる存在です。以下気になった機能。

  • 正規表現のチェック機能
    • その場で試せる!
  • Java ソース中に文字列として書かれた SQL 文のシンタックスハイライト及びコード補完
  • リファクタリングが文字列 SQL 内でも使用できる
    • SQL 内のテーブル名などをリネームすると実際の DB 定義までリネームされるという凶悪な機能でしたw
    • DB 接続を readonly に設定することで事故は防げるとのこと
  • なんかしたければ Shift 二回!
    • できないこともあるらしい
  • Github 連携
    • 直接プルリクもできるよ
  • Web 開発支援
    • HTML 、 cssJavaScript の変更が画面更新なしでリアルタイムでブラウザ上に反映される

えらく高機能だし、エディタでは色々空気を読んでくれるしなんかもう凄い IDE だなと。

IntelliJ には有償版の他に無償の Community Edition があり、無償版でどこまでできるのかなーとつぶやいたところ、色んな方に教えていただきました。

Java SE まわりや Groovy とかなら十分使えそうですね。有償版はちょっとまだハードル高いですが、とりあえず Community Edition 落としたので使ってみることにします。

Eclipse

DBFlute 開発者の @jflute さんによる発表。必殺の Eclipse !ということでしたがなんだかのっけから自虐的でしたw

「まず目の前の IDE を使いこなそう」ということで、派手な機能の紹介はありませんでしたが、ショートカットなど IDE の機能を有効利用することでこんなにコーディングが楽になるよ、というお話。デモでライブコーディングをされていましたが、軽快にコードがサクサク出来上がっていくのが印象的でした。サクサク書けるとリズムが途切れなくて良いですよね。戻り値の型なんだっけ・・とかこれインポートして・・とかもたもたしてると何書いてるのかわからなくなりますし。

とりあえずコードは変数やメソッドの抽出とかは考えずにばーっと書いて後でリファクタリングするとか、メソッドに抽出するときメソッド名考えるの面倒だからとりあえず xxxxxx とかにしておいて、形が出来上がってくると自然と名前が降りてくるのでそこでリネームするとか、レベルの高いプログラマーの方のコーディングのやり方ってなかなか見られないので貴重な体験でした。

自分は Eclipse は一番長く使っていたからかもしれませんが、エディタ部分は結構好きだったりします。ヴィマーな人は Vrapper を入れてちょいとカスタマイズするとなお良し*1。今は NetBeans を使ってますが、エディタ部分は未だに Eclipse の方が好きではあります。

Java はコード量自体は多くなりがちですが、うまく IDE の機能を使うことでタイプ数自体は相当減らせるんですよね。目の前の IDE を使いこなせてる気が全然しないので、「使いこなそう」というところは結構刺さりました。これを機に少しずつでも IDE を使いこなせるようになりたいと思います。

*1:というか個人的には必須