mieki256's diary



2012/02/20(月) [n年前の日記]

#1 [prog][neta] eclipseよりemacsを使うべき、てな巷の記事を目にして

どんな罰ゲームだよ、と思った。

自分、普段はemacs系エディタのxyzzyを使ってるし、emacsも触り始めてから15年ぐらい経つけれど。今、プログラムソース書くための道具を探すなら、IDEだよなと思う。客観的に見て、今からemacsはないわ。アレはできれば避けておくべきエディタ。いや、慣れてる人は別だけど。

emacs等、エディタにおける作業効率追求は、近視眼的な手法による打鍵数削減が主軸。あまり複雑なことはせずに、しかしできるだけ打鍵数を減らそうという視点で機能が実装される。最小限の工夫で、最大限の効果を。PCスペックが低い時代なら、それは絶対的に正しい戦い方。だったけど。現代のGHz級のCPUが当たり前な状況でベストなやり方ではない。IDEは、エディタのソレに構文解析その他モロモロを加味することで、更なる作業効率向上を成そうと模索している道具。概念からしてエディタの延長線上に位置している上位の存在、エディタ+αのハイブリッドな仕組みと言ってもいい。何故今更過去に戻る必要があるのか。IDEを使うことに引け目を感じる必要もない。概念レベルでIDEはエディタのソレを内包しているのだから、胸を張って使うべき。 *1

そもそもemacsは環境構築が面倒臭い。Web検索すれば山ほどその手の記事が出てくるけれど、それこそが面倒臭い道具である証拠。「記事がたくさんあるから便利な道具なのかな?」と思うのは間違いで、「記事がたくさんあるからこの道具はヤバイ」と思うべき。eclipseでできることをemacsでもできるようにするために、どれほど時間が無駄に浪費されるのか想像してみたほうがいい。最初から全部入りの道具を使ったほうが早い。…しかしこのへん逆に言うと、最初から全部入りのemacsバイナリパッケージを誰かが配布しちゃえば問題解決しちゃうのかなとちらりと思ったりもするけど。

ハッカーはemacsやvimを使うから、てな理由で使い始めるのも馬鹿げている。アレはハッカー達のファッション、単なる見栄だから無視すべき。ファッション=肉体を痛めつけること、という定義があるけれど。ショートカットキーやコマンド文字列を覚えることは、脳のリソースの無駄使い。こんなもん覚えずに作業できたほうがいいに決まってる。もっと実利を取ったほうがいい。

慣れている人が使う分には便利な道具であることは否定しないけど。自分もこうして使ってるし。でも、慣れてないなら使う必要はない。30年前のエディタだよ。今更使わんでも。まあ、30年分の蓄積があるから、凄そうに見えちゃうんだけど。決定的に便利な機能は、えてしてIDEにも入ってるから、そっち使ったほうがいいよ…。

難しくて面倒臭いものには価値があるのだ、こんだけ苦労したからコレは価値あるものだ、と思い込む病気にかかったままの人達がemacsだのvimの世界にはゴロゴロしてるので、そういう人達の言葉は話半分で聞いておいたほうがいいですよ。と自分は思います。

てな文章を、emacs系エディタのxyzzyで書いてるあたりが、なんだかややこしいのですが…。

ところで。 :

eclipseの起動時間の遅さはどうにかならないのかしら…。アレは、プログラマーの三大美徳の一つ、「短気」を逆撫でしますな…。その一点でeclipseを否定する気持ちも分かってしまうあたりがなんとも。でも、そのへん言い出したらvimを使わないと筋が通らない。emacsも起動遅いよ…。「emacsは一度起動したらずっとそのままだからいいんだ」って言い始めたらeclipseだってその論理で肯定できちゃうじゃん。

*1: でもまあ、完成度が低く、エディタの持つ雑多な機能性を実装してない部位も多々残ってるので、emacsならできることが何故できない、とIDEを使っていてモヤモヤする場面もあるのだけれど。そして非力なPCスペック上では、やっぱり重い。諸般の事情で今時のハードウェアが入手できない状況では、IDE使用を諦めるのは妥当、とも思うけど。

以上、1 日分です。

過去ログ表示

Prev - 2012/02 - Next
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project