Guerre d'éditeurs

Il existe une tradition datant du début des années 1970 (et donc dès les débuts du travail courant sur écran d'ordinateur) chez les programmeurs, qui consiste à défendre son logiciel éditeur de texte favori avec une passion qui n'est pas sans rappeler à certains celle du fanatisme religieux. De nombreuses flamewars se sont déroulées entre des groupes qui s'insultaient les uns les autres en soutenant que l'éditeur de texte de leur choix était l'outil parfait pour l'édition.

Emacs contre vi

Evocation du dilemme du choix d'un éditeur lors de la convention SOTM 2012.

Les guerres d'éditeurs éclatent habituellement entre les inconditionnels d'Emacs et ceux de vi, les deux éditeurs de texte les plus populaires sur les systèmes UNIX. La plupart des utilisateurs et programmeurs UNIX utilisent l'un de ces deux logiciels[réf. nécessaire]. Plusieurs sont familiers des deux, en tout cas, suffisamment pour participer au débat et penser qu'ils sont bien placés pour pouvoir dire lequel est « le meilleur »[non neutre].

Il arrive fréquemment qu'à un moment de la discussion, quelqu'un avance qu'ed est l'éditeur de texte standard[réf. nécessaire].

Cette rivalité entre les deux éditeurs est prise au sérieux par certains, et tournée en dérision par d'autres. Richard Stallman, par exemple, a inventé toute une phraséologie autour d'Emacs, parodiant une religion dont le but serait de célébrer cet éditeur et de décourager les utilisateurs de vi. Il s'est ainsi autoproclamé Saint IGNUcius, un saint de l'Église Emacs. Emacs dispose d'ailleurs de son propre groupe de discussion sur l'arborescence alt.religion : news:alt.religion.emacs.

De leur côté, les adeptes de vi ont créé le Culte de Vi, que certains utilisateurs d'Emacs appellent « clairement une misérable tentative pour singer leurs maîtres ».

Avantages allégués d'Emacs

  • Emacs n'est pas qu'un éditeur de texte, c'est un environnement de développement complet.
  • Le langage de script d'Emacs est une variante de LISP et de nombreux plugins sont disponibles comme le client de courrier électronique et lecteur de nouvelles Gnus ou Org-mode le système d'organisation de notes et de Programmation lettrée.
  • Emacs inclut vi, sous forme du viper-mode et de l'EVIL-mode (mais Emacs n'inclut pas Vim, un clone amélioré de vi) (a noter que les raccourcis clavier de vi et vim sont extrêmement similaires).
  • Emacs ne nécessite pas de va-et-vient entre les modes « commande » et « insertion ».
  • Pour le néophyte, le fonctionnement est naturel : chaque pression d'une touche du clavier affiche le caractère correspondant à l'écran.

Avantages allégués de vi

  • Vi n'est pas qu'un éditeur de texte, c'est un environnement de développement complet une fois les bons plugin ajoutés.
  • Les commandes de vi nécessitent rarement l'utilisation des touches de modification, comme Ctrl ou Alt. Certains utilisateurs trouvent que cela réduit les troubles musculosquelettiques (comme le syndrome du canal carpien).
  • Les raccourcis clavier de vi ont une syntaxe de la forme nombre-verbe-sujet, qui permet d'apprendre plus facilement beaucoup de commandes, grâce au fait que apprendre un nouveau verbe permet de l'utiliser avec tous les sujet que l'on connaît déjà
  • Vi est plus léger et plus rapide qu'Emacs.
  • La présence de vi est garantie par les standards POSIX.
  • Vim, un éditeur populaire basé sur Vi est scriptable dans des langages courants tels que Perl, Python et Ruby.
  • Vi fonctionne mieux avec les terminaux passifs. Bien que ce ne soit pas aussi important qu'auparavant, cela peut être essentiel, par exemple quand les défaillances du système ont atteint un point où l'environnement graphique ne peut pas démarrer et que l'on dispose d'un environnement console très limité.
  • Les combinaisons de touches d'Emacs entrent en conflit avec certaines implémentations de telnet.
  • L'utilisation des fonctionnalités avancées nécessite généralement moins d'effort de configuration dans Vi que dans emacs.

Expressions humoristiques

(c) Anders Brenna, CC BY 3.0 no
Richard Stallman en St IGNU–cius, un saint de l'Église de Emacs
  • L'utilisation d'une implémentation libre de vi n'est pas un péché, mais une pénitence. (Richard Stallman)
  • Emacs est un très bon système d'exploitation auquel il ne manque qu'un bon éditeur de texte.
  • Vim est un éditeur ; il ne cherche pas à inclure "tout sauf l'évier de la cuisine" mais vous pouvez nettoyer le vôtre avec Vim.
  • "VI VI VI, le chiffre de la bête !" disent les emacsiens de l'Église de Emacs.
  • Emacs, c'est Esc-Méta-Alt-Control-Shift. (on disait aussi Eight Megabytes And Constantly Swapping du temps où cette taille mémoire était considérée comme élevée).
  • Emacs Makes A Computer Slow ("Emacs ralentit l'ordinateur", sous forme d'acronyme récursif)
  • Emacs : Emmerdement à caractère systématique.
  • C'est comme ZZ dans VI.
  • Vi a 2 modes "Faire des Beeps" et "Tout casser".
  • Vi est très simple à apprendre. La seule combinaison de touches à connaître est " : q u i t ! (return) " (commande pour en sortir).

Éditeurs pour mainframes

Les guerres d'éditeurs n'ont pas épargné les mainframes, et c'est même sur ces derniers qu'elles ont commencé. Si dans le monde du full-screen un consensus de présentation a été rapidement adopté menant à des éditeurs cousins comme EDGAR (EDiting Graphically And Recursively[réf. nécessaire], le pionnier), XEDIT (Xavier's EDITor, sous VM/CMS) et l'éditeur d'ISPF (sous MVS/TSO), une bataille a fait rage pendant dix ans concernant les commandes UP et DOWN sur chaque éditeur : UP devait-il faire monter le pointeur dans le texte, ou au contraire faire monter le texte sur l'écran ? Une remarque finit par privilégier l'un des points de vue : puisque dans tous les éditeurs, TOP plaçait au début du texte et BOTTOM à la fin, était-il plus logique que UP rapproche de TOP ou de BOTTOM ? La réponse devenait dès lors évidente et tous les éditeurs de mainframes IBM s'alignèrent alors sur ce choix.

Les éditeurs pour mainframes étaient conceptuellement très différents des éditeurs interactifs, car il n'était pas question dans le premier contexte de solliciter l'unité centrale à chaque touche pressée. Il fallait se contenter des possibilités d'interaction locales - assez riches toutefois - de l'unité de contrôle associée à l'écran. Pour cette raison, il était aussi difficile de passer de Vi à XEDIT que de XEDIT à Vi, ce qui créa une nouvelle guerre d'éditeurs entre éditeurs mainframes et éditeurs totalement interactifs. Des clones d'XEDIT furent créées pour le contexte interactif, par exemple GEDIT ou The Hessling Editor. Il était en revanche structurellement impossible de porter Vi sur mainframe, sauf à le programmer dans le langage de l'unité de contrôle elle-même : les outils pour le faire n'étaient pas disponibles, et la mémoire de ces unités de contrôle de toute façon trop petite pour y porter tout Vi, a fortiori EMACS.

Note : un éditeur nommé xedit fait partie des samples livrés avec X Window. Il n'a pas de rapport avec XEDIT.

Voir aussi

Références externes

Médias utilisés sur cette page

Emacs-logo.svg
Auteur/Créateur: Original Emacs logo creator is Luis Fernandes; SVG version by Dmitry Dzhus., Licence: GPL
GNU Emacs logo. See its history at The Design of the Emacs logo. This is an SVG version of original bitmap logo created by hand from scratch in Inkscape.
Richard Stallman by Anders Brenna 03.jpg
(c) Anders Brenna, CC BY 3.0 no
Richard Stallman, founder of the GNU project and free software advocate. Oslo, Norway, 23 February 2009
2012 SOTM Steve Coast (8091880545).jpg
Auteur/Créateur: Justin Miller from Portland, Oregon, USA, Licence: CC BY-SA 2.0

Steve Coast, founder of OpenStreetMap, addresses the conference

State of the Map US 2012