#jjug ナイトセミナー「3大IDE頂上決戦 」に参加してきた
久しぶりに JJUG のナイトセミナーに参加してきました。勉強会は今年初かな?
早速 @yamadamn さんが Togetter にまとめてくださっていました。
最初にどの IDE を使っているか挙手がありましたが、会場では Eclipse が圧倒的に多い印象でした。色々と dis はみかけますが、やはり人気は根強いですね。なお自分は Eclipse から NetBeans に乗り換えたクチです。
NetBeans
Oracle の片貝さんによる発表。ほとんどコーディングなしで、流れるように淡々と機能を作っていくデモが印象的でした。昔 Eclipse で JPA の設定に四苦八苦したりしたものですが、 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 、 css 、 JavaScript の変更が画面更新なしでリアルタイムでブラウザ上に反映される
えらく高機能だし、エディタでは色々空気を読んでくれるしなんかもう凄い 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:というか個人的には必須
Mac の IntelliJ IDEA CE で Gradle アプリケーションを読み込む(途中まで)
JJUG ナイトセミナーで IntelliJ が気になりだしたので、とりあえず無償の CE 版をインストールしてみました。ダウンロードは Download IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains から。インストール後に Gradle アプリケーションを開こうとして地味にいくつか詰まったのでメモっておきます。
起動
IntelliJ の起動時に you need a Java SE 6 runtime. みたいなメッセージが出て起動しませんでした。なぜにいまさら 6 ?と思って調べたら、 /Applications/IntelliJ IDEA XXX.app/Contents/Info.plist
を直接書き換えれば良いとのこと。
Gradle の設定
Gradle プロジェクトをインポートしようとすると Gradle 関連の情報を入力するウィンドウが表示されます。そこで Gradle home の入力を求められるんですが、 Gradle home ってどこや? Mac だとよくわからない。
How to define Gradle's home in IDEA? - Stack Overflow にありました。
こんな感じの build.gradle
を作って
task getHomeDir << { println gradle.gradleHomeDir }
gradle getHomeDir
とかやるか、 HomeBrew を使っているなら brew info gradle
とやると /usr/local/Cellar/gradle/1.x
みたいなパスがとれるので、そこに libexec を足したものを使えば良いようです。自分の環境では /usr/local/Cellar/gradle/1.7/libexec
でした。
これで読み込めるか?と思いましたが、 Please use version 1.9 or greater. とか言われて失敗しました。 Gradle 古かった・・。 IDEA13 では Gradle 1.9 以上しかサポートしてないんでしょうか。
読み込みまでいけなかったorz
そろそろ寝なければ・・続きは明日。