Emacsは忘れた方がいい(Gosling):2008年の名言

Emacsは忘れた方がいい(Gosling):2008年の名言

これは 2 通りの意味に解釈できる。

  • エディタを使うのは時代遅れ (IDE を使った方がよい)
  • Emacs はエディタとして時代遅れ (他のエディタを使ったほうがよい)

どちらも同意できるから困る。もう 21 世紀だというのに、いまだに Emacs を使っている自分がちょっと悔しい。

しかし、じゃあ Emacs の代替になるものは何かというと、これがなかなかないんだよね。少なくとも NetBeans じゃないことは確か。EclipseEmacs キーバインドを用意しているけど、エディタとしての基本機能がまだまだ足りないし (矩形機能とかキーボードマクロとかね)、メモリ喰い過ぎ。Windows なら秀丸xyzzy があるけど、MacLinux では使えない。TextMate は日本語が扱えない。

エディタを使うプログラマからみると、IDEワープロみたいなもので、動作が遅くて緩慢、余計な動作が多い、カスタマイズしにくい、など欠点が多い。それが我慢できる範囲ならいいんだけど、これがそうでもなく、かなりフラストレーションが溜まる。エディタを使いこなしていない人や、カーソル移動を矢印キーで行っているような人は IDE でも文句はないだろう。しかしエディタを自分でごりごりカスタマイズしている人には、IDE はまだまだ受け入れづらい。

またエディタとしての Emacs も、もはや時代遅れと思う。Emacs では簡単な設定をするにも .emacs を書かなくてはいけない。xyzzyEmacs の亜種だけど、基本的なカスタマイズは GUI でできて、それ以上のことをしたい場合は .xyzzy をごりごり書くこともできるという、2 way solution を提供している。どう考えても xyzzy のほうが正しい。

また Emacs では論理行と物理行をわけて扱えない (1 行が長い場合に困る)、改行文字や全角空白を表示できない、行番号が表示できない、など、他のエディタが標準的に装備している機能が欠けている。もちろんこれらは EmacsLisp をガリガリ書けば実現できるけど、でもこれらくらい標準でできてほしいよね。

将来的には、「エディタに近づいた IDE」と「IDE に近づいたエディタ」の両方が主流になると思われる。前者でいえば IntelliJ IDEA が挙げられる (後者は Emacs + JDEE とか)。IDEA は使ったことないけど、各種レビューを見る限りは絶賛されている。

"エレガント"という言葉がよく似合うIDE

本稿ではIntelliJ IDEAの主要な機能を駆け足で紹介したが、IntelliJ IDEAが支持されている理由はこれらの表面的な機能だけではなく、根底に流れる"エレガントさ"であると筆者は感じている。洗練された一貫性の高いユーザインタフェース、豊富だが無駄のない機能など、IntelliJ IDEAを使い込んでいくとEclipseNetBeansにはない哲学を感じることができるはずだ。職人は道具に拘るというが、IntelliJ IDEAはまさにJava職人プログラマのための最高の仕事道具といってもよいかもしれない。有償かつ日本語版が提供されていないため、日本国内ではあまり広まっていないのが残念なところだ。

http://journal.mycom.co.jp/articles/2007/07/20/idea/003.html


こういう評価を見る限り、IDEA はエディタに近い IDE のように見える。エディタにこだわりのあるプログラマーにはぴったりのようだ。


まあ本当は EclipseNetBeans で EmacsLisp が動けばいいだけなんだけどな!