La guerra de editores es el nombre común de la rivalidad entre los usuarios de los editores de texto vi y Emacs. La rivalidad se ha convertido en una parte duradera de la cultura hacker y de la comunidad del software libre.
Pocas piezas de software son más universales que los editores de texto. Se han librado muchas guerras de fuego entre grupos que insisten en que su editor de elección es el parangón de la perfección de la edición, e insultan a los demás. La mayoría de los participantes en estas discusiones reconocen que se trata (en gran medida) de una broma. Hay batallas relacionadas con los sistemas operativos, los lenguajes de programación e incluso el estilo de sangría del código fuente.
Las guerras de editores suelen librarse entre los devotos de los dos editores más populares en los sistemas tipo Unix: vi y emacs. Las discusiones suelen centrarse en las implementaciones modernas de estos dos editores, los más populares de los cuales son vim y GNU emacs. La mayoría de los usuarios de estos sistemas están familiarizados con ambos programas hasta cierto punto, conociéndolos lo suficientemente bien como para al menos hacer alguna edición de texto básica, y por lo tanto se sienten bien situados para juzgar cuál es «mejor». Ambos editores son herramientas extensas y extremadamente potentes, y tienen curvas de aprendizaje bastante pronunciadas, por lo que los usuarios invierten mucho tiempo en conocer el editor que utilizan. Esta inversión de tiempo necesaria da como resultado usuarios más obstinados.
Diferencias entre vi y Emacs
Template:POV Las diferencias más importantes entre vi y Emacs son:
- La edición en vi retiene cada permutación de teclas tecleadas. Esto crea una ruta en el árbol de decisión que identifica inequívocamente cualquier comando.
- Los comandos de Emacs son una combinación de teclas tecleadas que se ejecutan inmediatamente, lo que deja al usuario la opción de utilizar o no un comando.
- vi es más pequeño y más rápido, y (tradicionalmente al menos) tiene una capacidad de personalización limitada.
- Emacs tarda más en arrancar y requiere más memoria. Sin embargo, es altamente personalizable e incluye un gran número de campanas y silbatos, ya que es esencialmente un entorno de ejecución del lenguaje de programación Lisp que ejecuta un programa Lisp diseñado para la edición de texto.
- vi se utilizaba tradicionalmente dentro de una consola en modo texto, sin tener una interfaz gráfica de usuario (GUI) (aunque vim tiene una).
- Mientras que Emacs, aunque inicialmente fue diseñado para su uso en una consola, creció una GUI bastante pronto. Las versiones modernas de ambos proporcionan varias GUIs.
Observación histórica:
- La diferencia en el conjunto de características y el tiempo de inicio tiende a influir en la forma en que se utilizan los editores: los usuarios de vi tienden a entrar y salir del editor repetidamente, y a utilizar el shell de Unix para tareas complejas, mientras que los usuarios de Emacs suelen permanecer dentro del editor y utilizar el propio Emacs para tareas complejas. Ambos editores son ahora capaces de emitir comandos desde el shell.
Template:Copyedit
Ventajas de los editores tipo vi
- Siguen una filosofía de «Composición de herramientas simples»
- Son pequeños y mantienen la filosofía Unix «haz una cosa, y hazla bien». Evita la featuritis
- Es más rápido que Emacs (tradicionalmente al menos)
- Se ejecuta en todos los sistemas que puedan implementar la librería C estándar, incluyendo DOS,Windows, Mac, BeOS y sistemas compatibles con POSIX
- Ofrece movimiento simplificado sobre el texto (principio|fin de líneas|palabra|párrafo…)
- Puede componer comandos con movimiento, e.g. 6dd borra 6 líneas
- Permite al usuario mantener los dedos en la fila de inicio requiriendo así menos movimiento para editar
Beneficios de Emacs
- Filosofía «Todo al alcance de la mano».
- No hay cambio de modo («inserción de texto», «desplazamiento y especificación de comandos») (ver beneficios de vi; utiliza acordes de metakey).
- Mayor conjunto de comandos que vi.
- Soporte de lenguajes no ASCII (chino, …).
- Extensible y personalizable (variante del lenguaje de programación Lisp – Emacs Lisp); lista de algunas buenas características:
- Modos especiales de edición para un gran número de lenguajes de programación, marcado, composición tipográfica (Bash, C, Java, Lisp, LaTex, Wikipedia …).
- También puede emular vi (conocido como «viper-mode»).
- Puede ejecutar cálculos en los calendarios maya y discordiano (GNU Emacs).
Observación histórica:
- Al principio, Emacs incluía una pantalla útil que explicaba cómo salir y que se presentaba al iniciar el programa. En ese momento, vi no proporcionaba tal pista, obligando a muchos usuarios que no podían averiguar cómo salir a simplemente desconectar sus terminales.
Humor
Frecuentemente, en algún momento de la discusión, alguien señalará que ed es el editor de texto estándar.
Una entrevista de 1984 con el creador de vi, Bill Joy, reveló que él mismo usaba ed, lo que llevó a los defensores de Emacs a decir que «incluso Bill Joy ya no usa vi».
La Iglesia de Emacs, formada por Richard Stallman, es una broma, y aunque se refiere a vi como el «editor de la bestia» (vi-vi-vi es 6-6-6 en números romanos) , no se opone al uso de vi; más bien, califica de anatema el software privativo. («Usar una versión de software libre de vi no es un pecado; es una penitencia»). Tiene su propio grupo de noticias, alt.religion.emacs, que tiene posts que pretenden apoyar esta religión paródica.
Aquí hay un típico post:
Truly, our responsibility to spread the Gospel of the Gnu is weighty.Cleave to what is good. Remember the words the prophet Stallmanbrought down from the Mount MIT, graved in Lisp on tablets ofcrystalline lambda calculus.Only this true: Emacs is pure.All else is false.Do not be misled by false gods like Vi, the Editor of the Beast.Do not be seduced by Word, the Scarlet Woman of Babylon.Do not be driven to madness by Xcode, the Blind Priest of the Children of Asherath.When the wild winds of chaos blow, stay pure.When the universe collapses in shards around you, stay holy.When the gibbering hobgoblins of apostate Editors attack with shardsof broken syntax, seek the crystalline stillness within you.Brethren, ensure that you (Meta-x-say-hallel-to-Emacs) daily for otherwise you will be lost.When the Beast comes, only Emacs can save you.This was brought to you as a public service by the Holy and Ineffable Church of The Mighty Emacs.SUPPORT THIS CRUSADE WITH YOUR DONATIONS. EMAIL THE STILL BEATINGHEART OF A VILE VI USER TO emacs-highpriest@god-hates-vi-users
Stallman se ha declarado en broma como San IGNU-cius, un santo en la Iglesia de Emacs.
Los partidarios de vi han creado un culto opuesto a vi, argumentado por los usuarios más duros de Emacs como un intento de «imitar a sus mejores».
Respecto a la naturaleza modal de vi, algunos usuarios de Emacs bromean diciendo que vi tiene dos modos: «pitar repetidamente» y «romper todo». Los usuarios de vi disfrutan bromeando con que las secuencias de teclas de Emacs inducen el síndrome del túnel carpiano, o mencionando una de las muchas expansiones satíricas del acrónimo EMACS, como «Escape Meta Alt Control Shift» (un golpe a la dependencia de Emacs de las teclas modificadoras).Otros han postulado que este acrónimo significa en realidad «Eight Megabytes And Constantly Swapping» (en una época en la que eso era una gran cantidad de memoria) o «EMACS Makes Any Computer Slow» (un acrónimo recursivo como los que usa Stallman), en referencia a los altos requerimientos de recursos del sistema de Emacs. El humorista más moderno utiliza «Eventualmente Mallocs All Core Storage» como su ocurrencia a prueba de futuro. Aquellos que tienen una queja particular con el sabor GNU de EMACS (tal vez un fan de XEmacs) puede proponer «Generalmente no se utiliza, excepto por los informáticos de mediana edad» como la expansión adecuada.
Como un golpe en el featurismo rastrero de Emacs, los defensores de vi describirán Emacs como «un gran sistema operativo, que sólo carece de un editor decente».
Hay algo de humor adicional que se burla de vi en http://www.dina.kvl.dk/~abraham/religion/vi-tutorial.html, así como de Lisp (asociado a Emacs) en el cómic xkcd aquí, aquí y aquí.
Word War vi es un shoot’em up humorístico tipo Defender basado en la guerra de editores.
Estado actual de la guerra de editores
En el pasado, florecieron muchos pequeños editores modelados a partir de Emacs o derivados de él. Esto se debió a la importancia de conservar la memoria con la cantidad comparativamente minúscula disponible en ese momento. Hoy en día, con una plenitud de memoria, muchos similares a vi, Vim en particular, han crecido en tamaño y complejidad de código. Estas variantes de vi de hoy en día, al igual que las antiguas variantes ligeras de Emacs, tienden a tener muchos de los beneficios e inconvenientes percibidos del bando contrario. A saber, las versiones recientes de Vim pueden tener más extensiones y funcionar más lentamente que las versiones pasadas de Emacs. Además, con las grandes cantidades de RAM de los ordenadores modernos, tanto vi como Emacs son relativamente ligeros en comparación con grandes IDEs como Eclipse, que tienden a suscitar la burla de los usuarios de vi y Emacs por igual.
O’Reilly, una empresa que vende tutoriales de Vim y Emacs dice que el de Vim vende el doble que el de Emacs. En un evento de paint balling, aproximadamente el doble de gente se apuntó a Vim que a Emacs. Esto ha sido tomado por algunos para sugerir que alrededor del doble de individuos prefieren Vim sobre Emacs. Sin embargo, se ha observado que muchos programadores avanzados utilizan Emacs y sus diversas derivaciones, incluido Linus Torvalds, que utiliza MicroEMACS.
En una sesión de preguntas&A con nueve programadores destacados, cuando se les preguntó cuáles eran sus herramientas favoritas, seis de ellos mencionaron Emacs.
Además de los similares a vi y emacs, pico y su clon de software libre nano y otros editores suelen tener sus propios defensores de terceros en las guerras de editores, aunque no en la medida de vi y emacs.
Template:ReflistTemplate:Refbegin
- El arte de la programación en Unix: Template:Cite book
Template:Refend
- Recursos de La Iglesia de Emacs
- Reglas, Pecados, Virtudes, Dioses y más de La Iglesia de Emacs
- San Ignucio – como lo retrató Richard Stallman
- Página de inicio de los amantes de Vi
- El $EDITOR apesta-reglas-o-metro mide qué activistas del editor son más visibles en la Web
- Ed es el editor de texto estándar
- Una transcripción de Richard presentando a San. IGNUcias y la Iglesia de Emacs
de:Editorenkriegfr:Guerre d’éditeursid:Perang editorja:エディタ戦争
pl:Wojny edytorowe