Editor war

From Free net encyclopedia

(Redirected from Church of Emacs)

Template:Tone

In hacker culture, the editor war is an ongoing debate in the computer programming community about which text editor is best for their general purposes. The two largest camps are those favoring vi and those favoring Emacs.

The community has a tradition of treating their favored piece of software with a reverence bordering on religious fanaticism, and few pieces of software are more universal than text editors. 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 (mostly) tongue-in-cheek. There are related wars over operating systems and programming languages, down to such 'trivial' things as source code indent style.

Editor wars are usually fought between the devotees of Emacs and vi, the two most popular editors on Unix and Unix-like operating systems. Most *nix users and programmers use one or the other of these editors. Many are familiar with both, at least enough to get around, and so feel they are well-placed to make judgment calls as to which is "better".

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 vi vi (which is 666 in Roman numerals) as the "editor of the beast", it does not oppose the use of vi; rather, it calls proprietary software an anathema. ("Using a free software version of vi is not a sin; it is a penance.") It has its own newsgroup, alt.religion.emacs. Stallman has jokingly declared himself to be St IGNU­cius, a saint in the Church of Emacs.[1]

vi lovers have created an opposing Cult of vi, which some Emacs users call "clearly a miserable attempt to ape their betters."

Contents

Benefits of Emacs

  • Emacs has a much larger set of available commands than any of the vi-like editors.
  • Emacs is scriptable in a variant of Lisp called Emacs Lisp, and has many plug-ins such as the gnus newsreader and various software development tools.
  • Emacs is very much a Swiss Army knife of an editor, and belongs to the "big is beautiful" camp. There is a reason for this: Emacs has roots in the TECO editor on the ITS & TOPS-10 operating systems, which predate Unix.
  • Emacs includes vi, in the form of viper-mode. (Note that vi is not vim. Emacs does not include vim proper.)
  • Emacs doesn't require switching between "command" and "input" mode.
  • GNU Emacs can perform computations with some calendars, such as Mayan or Discordian, which are not supported by the vi-like editors.
  • Special editing modes for 25 programming languages including Java, Perl, C, [[C++]], Objective C, Fortran, Lisp, Scheme, and Pascal.
  • Special scripting language modes for Bash, other common shells, and creating Makefiles for GNU/Linux, Unix, Microsoft Windows/DOS and OpenVMS systems.
  • Support for typing and displaying in 21 non-English languages, including Chinese, Czech, Hindi, Hebrew, Russian, Vietnamese and all Western European languages.
  • Creates PostScript output from plain text files and has special editing modes for document presentation formats like LaTeX, TeX, and Wikipedia.
  • Debug from inside Emacs
  • Maintain program ChangeLogs
  • Extensive file merge and diff functions
  • Directory navigation: can use dired to flag, move and delete files and sub-directories recursively.
  • Use Emacs as a shell itself (Eshell)
  • Version control management for release and beta versions, with CVS and RCS integration.
  • Emacs users argue that it is a better example of the Unix philosophy in that users can simply add a mode (or really, a program) to the existing implementation of emacs by taking advantage of the Emacs Lisp interpreter, whereas vi users have to create an entirely new version of vi, leading to a messy monolithic crufty program; in this view (held by Eric S. Raymond among others), Emacs is not so much a program but a portable framework in which modules are added together as needed.

Benefits of vi-like editors

  • vi is smaller and faster than Emacs and requires less overhead. See feature creep.
  • vi is present in all Unix based operating systems as guaranteed by the POSIX standard.
  • vi users argue that it conforms with Unix design and philosophy ("do one thing, and do it well"). Unix does not advocate building "Swiss Army knives", rather, the right tool for the right job.
  • vi commands are entered largely without the use of modifier keys such as Ctrl or Alt. Some users find this reduces wrist strain (see repetitive strain injury).
  • vi is intentionally "what you see is what you get (pretty much everywhere)". Vi users generally do not customize their editor much, as opposed to advanced Emacs users who would not feel comfortable if their heavily customized profile was not available to them.
  • Compile and debug code from within vim using :m[a]ke, :cl, and similar commands. (This functionality is not available within vi proper.) Note that debugging code from within the text editor is also a perceived benefit of Emacs over vi. This illustrates the subjective nature of the conflict.

Confusing the issue

In ages past, lots of small emacsen, or at least small editors modelled after Emacs, flourished. This was due to the importance of conserving memory with the comparatively miniscule amount available in those days. These days, with a plentitude of memory, many vi-alikes, especially vim, are growing to previously unthinkable proportions.

The old lite Emacsen, as well as the elephantine vis of today, tend to have many of the perceived benefits and drawbacks of the opposing side.

Reference

External links

pl:Wojny edytorowe