S'il y a bien une guerre qui fait rage depuis des décennies dans le monde de la programmation c'est celle des éditeurs de textes.
Oui cette fois on ne fais plus dans la dentelle, on va parler de plus en plus programmation sur ce site est c'est tant mieux vu qu'on s'adresse à des geeks, développeurs ou simples curieux désirants s'instruire.
Bon, on ne sait pas vraiment qui tu es ami lecteur (ou lectrice) mais j'espère que tu seras intéressé par ces propos.
La sainte guerre des éditeurs de textes à lieu depuis de nombreuses années. Pour mieux comprendre se phénomène il faut savoir que les éditeurs de textes sont importants pour la programmation de logiciels. Ainsi, plus un éditeur est pratique et perfectionné et plus on arrive à programmer des logiciels rapidement.
Il s'agit évidemment de la théorie car, en pratique, beaucoup d'autres facteurs peuvent ralentir le développement d'un logiciel. On pourra noter parmi ces facteurs : la complexité du logiciel, le langage de programmation utilisé (C, Java, Perl, Python, Objective-C, etc.) et la compétence du programmeur.
Mais, il faut bien l'admettre : un éditeur de texte qu'on maîtrise nous fait gagner du temps. Il s'agit là de la première origine de la guerre des éditeurs de textes.
De plus, le langage est souvent imposé en entreprise. On impose au programmeur de développer un site Internet en HTML avec le langage de script interprété PHP et le serveur de base de données MySQL (il s'agit d'un exemple). Par contre, l'employeur laisse souvent au programmeur le choix de l'éditeur de texte.
Il s'agit là aussi d'une autre origine de cette guerre. En effet, il n'est pas rare de trouver dans une même équipe de développement des personnes utilisants des éditeurs différents.
La guerre peut avoir lieu à n'importe quel endroit ou des programmeurs peuvent se rencontrer. Depuis le milieu des années 90 elle a surtout lieu sur Internet.
Généralement les programmeurs aiment se chamailler et "troller" sur les éditeurs en commentant chaque annonce d'une nouvelle version d'un de ces logiciels ou, plus simplement, en échangeant sur les forums de discussion dédié à UNIX ou Linux.
On trouve aussi des traces de cette guerre sur les groupes de discussions USENET dédiés aux systèmes d'exploitation, à la programmation ou à l'informatique en règle générale.
Le début de cette guerre (Wikipedia parle de tradition ce qui est plutôt bien trouvé comme terme) remonte aux années 70.
Il faut bien comprendre qu'à cette époque l'informatique n'en est qu'à ses débuts et que l'informatique personnelle n'a pas encore débutée. Ainsi, l'une des priorités logicielles sur un système d'exploitation est de concevoir un éditeur de texte qui va permettre la modification de l'OS et la création de nouveaux programmes.
Pour simplifier, l'histoire de la guerre des éditeurs de textes nous allons directement attaqué avec le logiciel ed créé en 1971 par Ken Thompson pour UNIX. ed est le premier éditeur pour UNIX. Il a la particularité d'être assez abstrait lorsqu'on l'utilise aujourd'hui car il s'agit d'un "éditeur de ligne" (line éditeur).
En effet, les machines n'étaient pas assez performante à l'époque pour permettre l'affichage de l'intégralité d'un fichier. Du coup, ed ne lit le fichier que ligne par ligne.
Cette particularité fait qu'encore aujourd'hui ed est utilisé pour lire des fichiers de grande taille (plusieurs centaines de giga octets) sans soucis !
Mais voilà, un petit malin à créé un logiciel encore plus performant quelques années après : ex. ex est un dérivé de ed et propose toujours ce mode d'édition surprenant, ligne à ligne.
Inspiré par ex, Billy Joy écrit en 1978 la première implémentation du logiciel vi. vi est un éditeur de texte encore très apprécié aujourd'hui pour son fonctionnement par mode.
Ainsi, dans le mode "insertion" le fichier peut être modifié. Cependant, une fois vi passé en mode "visuel", le fichier ne peut pas être modifié (lecture seule) et est donc protégé contre les mauvaises manipulations.
En parallèle, le développement de ce qui deviendra Emacs début en 1976. A l'origine Emacs n'est pas encore un vrai éditeur mais plutôt un ensemble de macros pour un autre éditeur.
Mais petit à petit son créateur, Richard Stallman, enrichi son logiciel pour le rendre de plus en plus performant et, surtout, indépendant de tout autre outil.
Depuis la fin des années 70, les développements de vi et Emacs avancent rapidement et plusieurs versions se succèdent. Malheureusement pour Emacs, vi est inclus gratuitement dans le système UNIX de l'université de Berkley rendant très populaire vi comme éditeur.
Mais, au milieu des années 80, Emacs est complètement réécrit et devient un logiciel Open Source et donc gratuit. Il peut ainsi être distribué rapidement et devient l'un des éditeurs les plus appréciés sur UNIX.
En effet, Emacs ne dispose pas de plusieurs modes et s'utilise comme les éditeurs modernes. Lorsqu'on ouvre un fichier texte avec Emacs, le fichier est directement modifiable.
Au milieu des années 80 la guerre des éditeurs est donc lancée. Les programmeurs doivent alors choisir leur camp : vi ou emacs. (d'autres éditeurs existaient à l'époque mais ces deux représentants sont les logiciels les plus avancés du genre)
La page wikipedia mentionnant la guerre des éditeurs fait surtout état de la concurrence entre vi et Emacs. Pourtant, la guerre des éditeurs porte sur d'autres logiciels que nous verrons plus tard.
Les avantages et inconvénients de chaque éditeurs sont une constituante importante de la guerre et alimentent les discussions les plus intenses.
Seulement, comme vu précédemment, seuls les compétences de l'utilisateur vont faire la différence. Un bon programmeur doit être capable d'utiliser en toute circonstance ces éditeurs (on ne sait jamais sur quelle machine on doit intervenir).
Pour mieux comprendre ce qui se passe (et alimenter à nouveau la guerre), nous allons écrire quelques arguments en faveur d'un éditeur ou de l'autre :
vi :
emacs :
Il existe encore beaucoup d'autres arguments (certains très drôles en faveur d'un éditeur ou d'un autre), mais je pense que vous avez compris le principe.
Mais qu'est-ce que c'est que cette histoire ? Et bien tout simplement, la guerre des éditeurs de texte ne consiste pas seulement à sélectionner un éditeur entre vi, emacs ou tout autre représentant du genre.
Car une fois qu'on a choisi son éditeur, il faut ensuite choisir sa variante préférée !
Ainsi, certains utilisateurs de vi ne jure que par vim qui est une déclinaison de vi avec quelques ajouts (vim : "vi improved") ou encore Elvis (et oui !) un autre clone très réussi.
De même, les utilisateurs d'emacs passent des nuits entière à se demander lequel de GNU Emacs, JED, JOE ou MicroEmacs est le top du top en matière d'Emacs.
Une fois de plus, pour une bonne guerre des navigateurs tout est question d'arguments. Les utilisateurs de MicroEmacs ne manqueront pas de souligner que ce dernier a été utilisé par Linus Torvald pour programmer le célèbre système Linux...
Si vous n'êtes ni en faveur d'emacs ni de vi, vous pouvez tout de même participer à la guerre même si ce n'est pas tout à fait la vraie guerre ! Mais attention, il vous faudra de sérieux arguments pour défendre votre logiciel préféré.
Le top en matière d'argument est d'utiliser un éditeur de texte sur un système d'exploitation obscure ou difficilement accessible.
Ainsi, une guerre a vu le jour entre l'éditeur sam et l'éditeur acme tous deux disponibles uniquement sur le système Plan9 de Bell Labs !
Mais rassurez-vous si vous utilisez quelque chose moins courant mais de pas obscure (comme un Mac) vous pourrez aussi vous lancer dans de grandes discussions sur le sujet.
Si vous utilisez un éditeur très moderne (UltraEdit) ou un ide (genre XCode pour programmer sous Mac) vous pouvez naturellement participer à la guerre. Mais attention car les éditeurs vi et emacs sont aussi disponibles sur Windows et Mac OS X.
En participant à une guerre d'éditeurs sur un forum de discussions vous allez devoir répondre à des questions du style "Comment tu fais avec ton éditeur XXXXXX pour remplacer les occurrences du mot "ultra" uniquement s'il apparait en début de ligne ?".
Bref, armez-vous de courage et d'une bonne connaissance de votre éditeur !
Si vous souhaitez tout de même aller au combat, voici une liste de quelques éditeurs intéressants à essayer (non encore cité dans cet article) :
Voici quelques liens amusants qui vont vous permettre de constater l'ampleur du conflit qui anime la communauté informatique mondiale. Mais, vous constaterez aussi que l'art du troll à son importance :
Vous êtes en droit de vous poser la question, c'est naturel. Et bien non, cette guerre n'est pas sérieuse du tout puisque tout le monde sait que vi, enfin vim plus particulièrement, est le meilleur éditeur de texte disponible sur le marché.
Et au cas où vous seriez sceptiques LinuxJournal en a la preuve via un sondage effectué en 2009 sur ces lecteurs. Vi serait utilisé par 36% des programmeurs utilisant Linux !
Un petit lien vers la page Wikipedia sur la guerre d'éditeur pour finir de vous divertir.