Guerre d'éditeurs

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

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 un enthousiasme qui frise le fanatisme religieux. De nombreuses flamewars se sont déroulées entre des groupes qui insultaient les autres en soutenant que l'éditeur de texte de leur choix était l'outil parfait pour l'édition.

Emacs contre vi[modifier | modifier le code]

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. 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 ».

Il arrive fréquemment qu'à un moment de la discussion, quelqu'un avance qu'ed est l'éditeur de texte standard.

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[modifier | modifier le code]

  • 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. (Vim est un clone amélioré de vi. Emacs n'inclut pas Vim.)
  • 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[modifier | modifier le code]

  • 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).
  • 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[modifier | modifier le code]

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[modifier | modifier le code]

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, 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 ? 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.

Raison des guerres d'éditeurs[modifier | modifier le code]

Une boutade dit que les guerres d'éditeurs sont comparables aux guerres de religion, mais en plus passionné. Pourquoi cette passion ? Parce que tout ce qui concerne l'interaction d'un utilisateur avec son clavier relève de comportements qu'il finit par se programmer de façon presque réflexe, sans que le conscient entre à chaque fois dans le détail de ce qui est fait. Lorsque l'on change d'éditeur (de même que quand on passe d'un clavier AZERTY à un QWERTY, ou l'inverse ou qu'on doive utiliser les raccourcis clavier Windows ↔ Macintosh), le conscient est en permanence dérangé pour traiter les erreurs commises à cause de ces gestes acquis, et interfère donc de façon irritante avec le travail d'écriture lui-même. Par association d'idées, l'irritation est alors souvent attribuée à l'éditeur utilisé et non au changement d'éditeur lui-même.

Voir aussi[modifier | modifier le code]

Références externes[modifier | modifier le code]