www.fgks.org   »   [go: up one dir, main page]

The editor war is the rivalry between users of the Emacs and vi (now usually Vim, or more recently Neovim) text editors. The rivalry has become an enduring part of hacker culture and the free software community.

The Emacs versus vi debate was one of the original "holy wars" conducted on Usenet groups,[1] with many flame wars fought between those insisting that their editor of choice is the paragon of editing perfection, and insulting the other, since at least 1985.[2] Related battles have been fought over operating systems, programming languages, version control systems, and even source code indent style.[3][4]

Evolution

edit
 
Editor choice being brought up during a presentation at a technology convention.

Many small editors that were based on or derived from vi in the past were successful. This was because it was crucial to preserve the memory that was, at the time, relatively sparsely available. As computers have become more powerful, many vi clones, Vim in particular, have grown in size and code complexity. These vi variants of today, as with the old lightweight Emacs variants, tend to have many of the perceived benefits and drawbacks of the opposing side. For example, Vim without any extensions requires about ten times the disk space required by vi, and recent versions of Vim can have more extensions and run slower than Emacs. In The Art of Unix Programming, Eric S. Raymond called Vim's supposed light weight when compared with Emacs "a shared myth".[5] Moreover, with the large amounts of RAM in modern computers, both Emacs and vi are lightweight compared to large integrated development environments such as Eclipse, which tend to draw derision from Emacs and vi users alike.

Tim O'Reilly said, in 1999, that O'Reilly Media's tutorial on vi sells twice as many copies as that on Emacs (but noted that Emacs came with a free manual).[6] Many programmers use either Emacs and vi or their various offshoots, including Linus Torvalds who uses MicroEMACS.[7] Also in 1999, vi creator Bill Joy said that vi was "written for a world that doesn't exist anymore" and stated that Emacs was written on much more capable machines with faster displays so they could have "funny commands with the screen shimmering and all that, and meanwhile, I'm sitting at home in sort of World War II surplus housing at Berkeley with a modem and a terminal that can just barely get the cursor off the bottom line".[8][9]

In addition to Emacs and vi workalikes, pico and its free and open-source clone nano and other text editors such as ne often have their own third-party advocates in the editor wars, though not to the extent of Emacs and vi.

As of 2020, both Emacs and vi can lay claim to being among the longest-lived application programs of all time,[10] as well as being the two most commonly used text editors on Linux and Unix.[11] Many operating systems, especially Linux and BSD derivatives, bundle multiple text editors with the operating system to cater to user demand. For example, a default installation of macOS contains ed, pico (nano before MacOS Ventura 12.3), TextEdit, and Vim. Frequently, at some point in the discussion, someone will point out that ed is the standard text editor.[12]

Humor

edit
 
Richard Stallman appearing as St IGNU−cius, a saint in the Church of Emacs

The Church of Emacs,[13] formed by Emacs and the GNU Project's creator Richard Stallman, is a parody religion.[14] 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 anathema. ("Using a free version of vi is not a sin but a penance."[15]) The Church of Emacs has its own newsgroup, alt.religion.emacs, that has posts purporting to support this belief system.

Stallman has referred to himself as St IGNU−cius, a saint in the Church of Emacs.[16]

Supporters of vi have created an opposing Cult of vi, argued by the more hard-line Emacs users to be an attempt to "ape their betters".[citation needed]

Regarding vi's modal nature (a common point of frustration for new users)[17] 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)[18] or "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)[19] or "Eventually Munches All Computer Storage", in reference to Emacs's high system resource requirements. GNU EMACS has been expanded to "Generally Not Used, Except by Middle-Aged Computer Scientists" referencing its most ardent fans, and its declining usage among younger programmers compared to more graphically oriented editors such as Atom, BBEdit, Sublime Text, TextMate, and Visual Studio Code.[citation needed]

As a poke at Emacs' creeping featurism, vi advocates have been known to describe Emacs as "a great operating system, lacking only a decent editor". Emacs advocates have been known to respond that the editor is actually very good, but the operating system could use improvement (referring to Emacs' famous lack of concurrency, which has now been added[20]).

A game among UNIX users, either to test the depth of an Emacs user's understanding of the editor or to poke fun at the complexity of Emacs, involved predicting what would happen if a user held down a modifier key (such as Ctrl or Alt) and typed their own name. This game humor originated with[21] users of the older TECO editor, which was the implementation basis, via macros, of the original Emacs.

Due to how one exits vi (":q", among others), hackers joke about a proposed method of creating a pseudorandom character sequence by having a user unfamiliar with vi seated in front of an open editor and asking them to exit the program.[citation needed]

The Google search engine also joined in on the joke by having searches for vi resulting in the question "Did you mean: emacs" prompted at the top of the page, and searches for emacs resulting in "Did you mean: vi".[22]

In the web series A Murder at the End of the World, there is a scene referencing the editor wars where a character asks a woman if she uses Vi or Emacs.[23]

See also

edit

Notes

edit

References

edit
  1. ^ "Holy War (Hacker Jargon)". Archived from the original on 2012-04-02. Retrieved 2016-11-30.
  2. ^ "EMACS vs. vi: The endless geek 'holy war'". Archived from the original on 2016-11-30. Retrieved 2016-11-30.
  3. ^ "Just Let Me Code". Archived from the original on 2015-05-01. Retrieved 2015-04-24.
  4. ^ "Why Coding Style Matters". Archived from the original on 2015-05-03. Retrieved 2015-04-24.
  5. ^ "The Right Size for an Editor". Catb.org. Retrieved 1 December 2014.
  6. ^ "Editor: vi or emacs?". Oreilly.com. 21 June 1999. Archived from the original on 1 April 2014. Retrieved 1 December 2014.
  7. ^ Jarosław Rzeszótko. "Stifflog: Stiff asks, great programmers answer". Stifflog.com. Archived from the original on 8 November 2006. Retrieved 1 December 2014.
  8. ^ Vance, Ashlee (September 11, 2003). "Bill Joy's greatest gift to man – the vi editor". theregister.co.uk. Archived from the original on June 3, 2014. Retrieved June 3, 2014.
  9. ^ Joy, Bill (November 1999). "The Joy of Unix: Sun Microsystems Co-Founder Bill Joy Charts Where Linux and Free Software Fit Into His Company's Solar System". Linux Magazine (Interview). Interviewed by Eugene Eric Kim. Archived from the original on February 7, 2003. Retrieved June 3, 2014.{{cite interview}}: CS1 maint: unfit URL (link)
  10. ^ Auerbach, David (9 May 2014). "The Oldest Rivalry in Computing". Slate. two rival programs can stake a claim to being among the longest-lived applications of all time. Both programs are about to enter their fifth decades. Both programs are text editors, for inputting and editing code, data files, raw HTML Web pages, and anything else. And they are mortal enemies.
  11. ^ "Choosing an Editor". these two editors express sharply contrasting design philosophies, but both are extremely popular and command great loyalty from identifiable core user populations. Surveys of Unix programmers consistently indicate about a 50/50 split between them, with all other editors barely registering.
  12. ^ "Ed, man! !man ed". Gnu.org. Retrieved 1 December 2014.
  13. ^ "Rules, Sins, Virtues, Gods and more of The Church of Emacs". Gnu.org. Retrieved 1 December 2014.
  14. ^ "Saint IGNUcius - Richard Stallman". Stallman.org. Archived from the original on 22 November 2014. Retrieved 1 December 2014.
  15. ^ "The unabridged selective transcript of Richard M Stallman's talk at the ANU". Linuxhelp.blogspot.com. Archived from the original on 4 October 2011. Retrieved 1 December 2014.
  16. ^ "Saint IGNUcius - Richard Stallman". Stallman.org. Retrieved 1 December 2014.
  17. ^ "vi (Hacker Jargon)".
  18. ^ "Some funny acronym expansions of Emacs". Gnu.org. Archived from the original on February 16, 2021. Retrieved 1 December 2014.
  19. ^ Rösler, Wolfram. "The Unix Acronym List". Archived from the original on February 16, 2021. Retrieved March 4, 2021.
  20. ^ "Concurrency has landed (was: Please test the merge of the concurrency br". lists.gnu.org. Retrieved 2020-12-08.
  21. ^ "Real Programmers Don't Use PASCAL". Datamation: 263–265. July 1983.
  22. ^ "Google suggest vi for Emacs and Emacs for vi | Hacker News". Hacker News. Retrieved 2022-04-07.
  23. ^ "A Murder at the End of the World: Are you Vi or Emacs?". xenodium.com. Retrieved 2023-12-26.
edit