エディタ戦争
エディタ戦争(英: editor war)は、プログラミングを行う人々の間で続いている、どのテキストエディタが一番よいかというテーマの論争を指す。その中でも二大陣営といえるのは、vi愛好派とEmacs愛好派である。 ハッカー文化においては、愛好するソフトウェアを宗教的狂信とも言える尊敬を持って扱う伝統があり、そのようなソフトウェアの中でもテキストエディタはもっとも一般的である。自らの選択したエディタが最善であると信じるグループ間で数々の論争(フレーム)が発生してきた。もっとも、そのような論争の参加者のほとんどは、からかい半分であると理解している(ユーモアの節参照)。似たような論争はオペレーティングシステムやウェブブラウザ(ブラウザ戦争)、プログラミング言語にもあるし、コードの字下げスタイルのような傍から見れば些細なことでも論争となってきた。 エディタ戦争においては、vi と Emacs というUNIX系オペレーティングシステムで最も一般的な2つのエディタの信奉者の間で主に行われている。UNIXのユーザーやプログラマの多くは、どちらかのエディタを使用している。また、大抵の人は両方の使い方を知っており、それもあってどちらが良いかを判断できる立場にあると考えている。さらに、これらのエディタは他と比較して急勾配な習熟曲線を持っており、それはこれらエディタのユーザーがその使い方を学習するために多大な時間を要したことを意味している。 vi と Emacs の違い
また機能セットと立ち上げ時間により、ユーザの利用形態にも差異が生じる傾向がある。 vi ユーザーが外部コマンドを実行する場合、 vi のコマンドモードは用いられず適宜 vi は終了され、UNIXシェルからコマンドが実行される。 一方、 Emacs のユーザーが外部コマンドを実行する場合、 Emacs は終了されず組み込まれたシェルモードを介してコマンドが実行される。 vi側の主張する利点
Emacs側の主張する利点
ユーモア![]() 議論においてしばしば、edこそ「標準テキストエディタ」であることが指摘されている[7]。 リチャード・ストールマンは冗談で Church of Emacs(Emacs教会)を設立し、vi vi vi(ローマ数字の6-6-6)を「獣のエディタ」と称したが、必ずしも vi 利用に反対の立場をとったわけではなく、プロプライエタリソフトウェアをアナテマと呼んだ(「viの自由ソフトウェア版を使うことは罪ではなく、苦行である」[8])。同教会は独自のニュースグループを持ち(alt.religion.emacs)[9]、このパロディ化した宗教の教義をポストしていた。 ストールマンは冗談として自身をSt IGNU−cius(聖イグヌチウス; 聖イグナシアスにかけた洒落)と称した[10]。 vi 信奉者は対抗して Cult of vi を設立した。 強硬なEmacsユーザーはこれを「(vi派によるより優れたemacs派の)猿真似」であると主張している。 vi の入力モード問題について、Emacs 側は vi の2つのモードを "beep repeatedly"(ビービー鳴らすモード)と "break everything"(何もかも台無しにするモード)と揶揄した。vi 側は Emacs のコマンド入力によって手根管症候群が起きると揶揄し、EMACS を何らかの頭字語であるとして様々な元となる言葉を考案した(例えば "Escape Meta Alt Control Shift" など)[11]。 ほかにも "Eight Megabytes And Constantly Swapping"(8メガバイトで常にスワップされている)あるいは "EMACS Makes Any Computer Slow"(EMACSはどんなコンピュータも低速にする。再帰的頭字語)、"Eventually Munches All Computer Storage"(結局全ての記憶容量を食らい尽くす)の略だとも揶揄された。これらは Emacs が非常にリソースを消費することを指したもので、当時としては 8メガバイトのメモリは非常に大きかった。Emacsのディストリビューションには、こういった頭字語の一覧が付属している[12]。 Emacsが機能的に肥大していることを揶揄し、vi側はEmacsを「偉大なオペレーティングシステムだが、きちんとしたエディタだけが欠けている」と評した。 UNIXユーザーの間では、Emacsの複雑さへの揶揄もこめて、修飾キーを押下しながら自分の名前を入力したらどうなるかを確認するという遊びも行われていた。同様の「ゲーム」はEmacsの前身であるTECOでも行われていた[13]。 Word War vi[14] はエディタ戦争を題材としたディフェンダー風のシューティングゲームである。 最近の状況かつては vi を手本とした様々な小型エディタが開発された。これは当時のメモリ容量が小さかったため、メモリ使用量を抑えることが重要だったためである。その後コンピュータのメモリ容量が増加するにつれ、vimに代表されるviクローンはサイズ面でもコードの複雑さの面でも成長していった。このため、vi派とEmacs派が主張していた利点や相手側の欠点は大差ない状況となっていった。例えば拡張を加えないvimであっても、ディスク上に格納するのにオリジナルのviの10倍の領域を必要とする。また、vimは様々な拡張が可能で、古いバージョンのEmacsと比べると低速である。しかし、viもEmacsもEclipseのような統合開発環境に比べればずっと軽量である。 ティム・オライリーは1999年、オライリーメディアから出版したviの入門書がEmacsの入門書の2倍売り上げたと述べている。これは、viの方が人気があるともとれるし、viの方が習得が難しいので本が売れたともとれる[15]。多くのプログラマはEmacsやvi、およびそれらの派生エディタを使っている。例えばリーナス・トーバルズはMicroEMACSを使っている[16]。 viやEmacsの互換エディタ以外では、picoとそのFOSS版であるnano、neなどのエディタにも熱心な支持者がいるが、viやEmacsほどではない。 GNU/LinuxやBSD系を代表とする多くのOSでは、複数のテキストエディタが同梱されており、ユーザーの需要に応えるようになっている。例えば、macOS にはデフォルトで Emacs、vim、nano、ed が搭載されている。 2021年7月23日のGIGAZINEの記事にて、Visual Studio Codeがシェアを拡大しつつあり、50%を超えるシェアを獲得していると報道された[17]。 脚注注釈
出典
関連項目外部リンク |
Portal di Ensiklopedia Dunia