引き続きSztywny Blog - Stiff asks, great programmers answerの翻訳。

今回の質問はこちら。

お気に入りのツール(OS,プログラム/スクリプト言語、テキストエディタ、ヴァージョン管理システム、シェル、DBエンジン、その他なくてはならないツール)は何ですか?他のツールよりそれらが好きな理由は?

プログラマー達の解答は以下のとおり。

Dan the Translator


Steve Yegge:

OS: Unix! 今ではlinux、cygwin、そしてdarwinを同程度に使っている。生産性向上ツールとしてこの上なし。プログラマーたるもの、/binおよび/usr/bin直下のツールの使い方をすべてならうべし。

スクリプト言語: Ruby。Perl, Python, Tcl, Lua, Awk, bash といったメージャーどころは一通り使いこなせるけど、その他は忘却の彼方に消えつつある。私は極度に怠惰で、Rubyはそのなかで一番楽。まさに極楽。

プログラミング言語: 該当作なし。どれもダメ。しいて言えばJavaか。ポータブルで、いいツールとライブラリーが揃っている。しかし言語としてのJavaは、進化か死しかない。現状ではリードを保つのに充分よいとはいえない。

テキストエディタ: Emacs。今日ある中ではベスト。

ヴァージョン管理: SVN。Perforceの方が優れてはいるが、高価すぎ。

Shell: Bash。もっといいのを習うには私はものぐさすぎ。

DBエンジン: もちろんMySQL。他の追随を許さず。

その他: GIMPは手放せないけど、あまりに直感に逆らうことが多い。もう何年も使っているのに、まだ使いこなしているように思えない。でももうそれなしではいられない。皮肉だけど。

Firefoxの重要性は、日に日に増している。IEやSafariをどうしても使わなければならない時には、首が引き締まる思いがする。

これらのツールに共通性があることに気がついただろうか?これらはすべて拡張可能なのである。たとえばプログラム可能なAPIを持っている。偉大なプログラマーは、ツールを使うだけではなく、プログラムする術も知っているものだ。

Linus Torvalds:

ツールはそれほど多く手元にもっていない。そしてツールの多くは、自分専用に自分で作った者だ。OSはあきらかにその中でも一番大きなものだが、ヴァージョン管理システム(git)は自作したし、テキストエディタ(micro-emacs)はカスタマイズしまくり、拡張しまくった。

これら三つの他に、唯一気を使うツールといえば、emailリーダーだ。私は"pine"を使っている。それが最高のemailリーダーだからというわけではなく、私がそれに慣れており、私が必要な機能に関しては一番めんどくさくないからだ。

David Heinemeier Hansson:

OS X, TextMate, Ruby, Subversion, そしてMySQL。この組み合わせが、今の私のハッピーセット。テイストが優れていて、重要なことに焦点をしぼっているのが、私にとってのよいツール。

Peter Norvig:

メジャーなOSはみんな嫌い。WindowsもMacもLinuxも。PythonとLispは好き。

Dave Thomas:

10年ほどLinuxを使い続けてから、2年ほど前にMacにswitchした。付属のツールがよりよくなったとは言えないけど、メンテナンスの頻度はもはやそれほど高くなくていいし、ツールを研ぐ機会もかえって減ってよかった。使う方に注力できるから。

私は一つの優れたツールを使い込むという考えの信者ではない。むしろなるべく多くのツールを使う機会を通して、遣いかたに慣れる方を好む。今のところ使っているのは、OSX, Emas, TextMate, Rails, Ruby, SVN, CVS, Rake, make, xsltproc, TeX, MySQL, Postgres, そしてその他小さな生産性向上ツール群といったところ。来年に何を使っているかは誰も知らない。

Guido Van Rossum:

Unix/Linux, Python, vi+emacs, Firefox(お、翻訳不要)。

James Gosling:

最近ではNetBeansで生きている。私が必要なことは全部それで済む。簡潔、簡素、そして簡便に。一ままで住んだ環境の中では一番だ。

Bjarne Stroustrup:

Unix, sam (極めて簡素なテキストエディタ)、そして優れたC++コンパイラ。当然だけど。

Tim Bray:

私が好きなのは、UnixライクなOS、PythonやRubyといった動的言語に、静的に型付けされたJavaのような言語(特にJavaのAPI)、Emacs、それからえーと、bash、そいで、NetBeansといったところ。