Editor war
From Wikipedia, the free encyclopedia
Editor War | |||||||
---|---|---|---|---|---|---|---|
|
|||||||
Belligerents | |||||||
|
|
||||||
Commanders | |||||||
|
|
||||||
Casualties and losses | |||||||
Unknown | Unknown |
Editor war is the common name for the rivalry between users of the vi and Emacs text editors. The rivalry has become a lasting part of hacker culture and the free software community.
Many flame wars have been fought between groups insisting that their editor of choice is the paragon of editing perfection, and insulting the others. Most participants in these arguments recognize that it is (largely) tongue-in-cheek. Unlike the related battles over operating systems, programming languages, and even source code indent style, choice of editor usually only affects oneself.
Editor wars are usually fought between the devotees of the two most popular editors on Unix-like systems: vi and emacs. The arguments usually focus on modern implementations of these two editors, the most popular of which are Vim and GNU emacs. Most users of these systems are familiar with both programs to some extent, knowing them well enough to at least do some basic text editing, and therefore feel they are well-placed to make judgment calls as to which is "better". Both editors are extensive and extremely powerful tools, and have rather steep learning curves, so users invest a lot of time in getting to know the editor they use. This necessary time investment, naturally, can result in more opinionated users.
Contents |
[edit] Differences between vi and Emacs
The most important differences between vi and Emacs are:
- vi editing retains each permutation of typed keys. This creates a path in the decision tree which unambiguously identifies any command.
- Emacs commands are a combination of typed keys executed immediately, which leaves the user with the choice of whether or not to use a command.
- vi is smaller and faster, and (traditionally at least) has limited customization capability.
- Emacs takes longer to start up and requires more memory. However, it is highly customizable and includes a large number of bells and whistles, as it is essentially a Lisp programming language execution environment which runs a Lisp program designed for text-editing.
- vi was traditionally used inside of a text-mode console, having no graphical user interface (GUI) (although Vim has one).
- Whereas Emacs, while initially designed for use on a console, grew a GUI fairly early on. Modern versions of both provide various GUIs.
[edit] Benefits of vi-like editors
- Follows a "composition of simple tools" philosophy.
- Small in size and compatible with the Unix philosophy of "do one thing, and do it well". Avoids featuritis.
- Faster than Emacs (traditionally at least).
- Runs on all systems that can implement the standard C library, including DOS, Windows, Mac, BeOS, and POSIX compliant systems.
- Allows users of the QWERTY keyboard to keep their fingers on the home row, thus requiring less movement to edit.
- Ubiquitous. Essentially all Unix and Unix-like systems come with vi (or a variant) built-in.
[edit] Benefits of Emacs
- "Everything at reach" philosophy.
- No mode switching (uses metakey chords).
- Larger set of commands than vi.[citation needed]
- One of the most ported non-trivial computer programs. It runs on a wide variety of operating systems, including most Unix-like systems (GNU/Linux, the various BSDs, Solaris, AIX, IRIX, Mac OS X,[1][2] etc.), MS-DOS, Microsoft Windows[3][4][5] and OpenVMS. Unix systems, both free and proprietary, frequently provide Emacs bundled with the operating system.
- Extensible and customizable (Lisp programming language variant - Emacs Lisp), with features that include:
Historical remark:
- Early on, Emacs included a helpful screen explaining how to exit that was presented when the program started. At the time, vi did not provide such a hint, forcing many users who could not figure out how to exit to simply disconnect their terminals.
[edit] Humor
Frequently, at some point in the discussion, someone will point out that ed is the standard text editor.
The Church of Emacs, formed by Richard Stallman, is a joke, and while it refers to vi as the "editor of the beast" (vi-vi-vi being 6-6-6 in Roman numerals) , it does not oppose the use of vi; rather, it calls proprietary software an anathema. ("Using a free version of vi is not a sin but a penance."[6]) It has its own newsgroup, alt.religion.emacs[7], that has posts purporting to support this parody religion.
Stallman has jokingly declared himself to be St IGNU−cius, a saint in the Church of Emacs.[8]
vi supporters have created an opposing Cult of vi, argued by the more hardline Emacs users to be an attempt to "ape their betters".
Regarding vi's modal nature, some Emacs users joke that vi has two modes – "beep repeatedly" and "break everything". vi users enjoy joking that Emacs's key-sequences induce carpal tunnel syndrome, or mentioning one of many satirical expansions of the acronym EMACS, such as "Escape Meta Alt Control Shift" (a jab at Emacs's reliance on modifier keys).[9] Others have posited that this acronym in fact means "Eight Megabytes And Constantly Swapping" (in a time when that was a great amount of memory) or "EMACS Makes Any Computer Slow" (a recursive acronym like those Stallman uses), in reference to Emacs's high system resource requirements.
As a poke at Emacs’ creeping featurism, vi advocates will describe Emacs as “a great operating system, lacking only a decent editor”.
There is some additional humor that pokes fun at vi at http://www.dina.kvl.dk/~abraham/religion/vi-tutorial.html.
Word War vi[10] is a humorous Defender-like shoot 'em up based on the editor war.
[edit] Current state of the editor war
In the past, many small editors modeled after or derived from Emacs flourished. This was due to the importance of conserving memory with the comparatively minuscule amount available at the time. These days, with a plenitude of memory, many vi-alikes, Vim in particular, have grown in size and code complexity. These vi variants of today, as with the old light Emacs variants, tend to have many of the perceived benefits and drawbacks of the opposing side. Namely, recent versions of Vim can have more extensions and run slower than past versions of Emacs. Moreover, with the large amounts of RAM in modern computers, both vi and Emacs are lightweight compared to large IDEs such as Eclipse, which tend to draw derision from both vi and Emacs users alike.
O'Reilly says that its Vim tutorial sells twice as many copies as for Emacs.[11] This has been taken by some to suggest that around twice as many individuals prefer Vim over Emacs. However, others suggest[citation needed] this simply means that those who use Emacs know what they're doing. Both Emacs and Vim are distributed with complete documentation, so purchasing a manual isn't necessary for most users. It is also noted that many advanced programmers use either Emacs and Vim or their various offshoots, including Linus Torvalds who uses MicroEMACS.[12]
In addition to vi and emacs workalikes, pico and its free software clone nano and other editors often have their own third-party advocates in the editor wars, though not to the extent of vi and emacs.
[edit] References
- ^ "Carbon Emacs Package". http://homepage.mac.com/zenitani/emacs-e.html. Retrieved on 2006-09-27.
- ^ "Aquamacs is an easy-to-use, Mac-style Emacs for Mac OS X". http://aquamacs.org/. Retrieved on 2006-09-27.
- ^ B, Ramprasad (2005-06-24). "GNU Emacs FAQ For Windows 95/98/ME/NT/XP and 2000". http://www.gnu.org/software/emacs/windows/ntemacs.html. Retrieved on 2006-09-27.
- ^ Borgman, Lennart (2006). "EmacsW32 Home Page". http://ourcomments.org/Emacs/EmacsW32.html. Retrieved on 2006-09-27.
- ^ "GNU Emacs on Windows". Franz Inc.. 2006. http://www.franz.com/emacs/. Retrieved on 2006-09-27.
- ^ All about Linux: The unabridged selective transcript of Richard M Stallman's talk at the ANU
- ^ alt.religion.emacs newsgroup
- ^ Saint IGNUcius - Richard Stallman
- ^ satirical expansions of EMACS
- ^ Word War vi site
- ^ Editor: vi or emacs?
- ^ Stifflog: Stiff asks, great programmers answer
- The Art of Unix Programming: Raymond, Eric S (2003). The Art of UNIX Programming. ISBN 0-13-142901-9. http://www.catb.org/~esr/writings/taoup/html/.
[edit] External links
- Church of Emacs resources
- Rules, Sins, Virtues, Gods and more of The Church of Emacs
- Saint Ignucius — as portrayed by Richard Stallman
- Vi Lovers Home Page
- $EDITOR sucks-rules-o-meter measures which editor's activists are more visible on the Web
- Ed is the standard text editor
- A transcript of Richard introducing St. IGNUcias and the Church of Emacs