vi
En 1976, à l’université de Berkeley, Bill Joy se retrouve face à un problème que connaissent tous les programmeurs de cette période : comment éditer du texte de manière décente sur un système UNIX ? Les outils disponibles, comme ed, relèvent plus de la torture intellectuelle que de l’aide à la programmation. Peter H. Salus n’hésite d’ailleurs pas à les qualifier d’« éditeurs les plus hostiles jamais créés ». Imaginez-vous travailler ligne par ligne, sans jamais voir l’ensemble de votre texte !
Joy, étudiant diplômé, ne se contente pas de subir cette situation. Il travaille déjà sur un interpréteur Pascal et collabore avec Chuck Haley pour améliorer ed. L’université dispose d’un PDP-11, machine bien modeste comparée aux PDP-10 que s’offrent MIT ou Stanford. Cette contrainte matérielle les pousse à innover différemment, à chercher l’efficacité plutôt que la puissance brute.
L’été 1976 apporte un déclic inattendu. Joy et Haley découvrent em (Editor for Mortals), création de George Coulouris à Queen Mary College. Voilà un éditeur qui ose afficher deux messages d’erreur au lieu d’un seul et propose une approche plus visuelle de l’édition. Rien de fulgurant en soi, mais suffisant pour déclencher l’inspiration. Les deux complices développent alors ex, dont le mode « visual » donnera naissance au nom « vi ».
La genèse de vi tient du hasard autant que du génie. Joy se souvient avoir conçu l’interface un samedi de 1976, la radio en fond sonore diffusant les questions-réponses de Jimmy Carter fraîchement élu. Cette anecdote révèle l’atmosphère détendue dans laquelle naît un outil destiné à marquer l’histoire de l’informatique. L’éditeur intègre ses innovations tout en s’adaptant aux terminaux existants, notamment les ADM-3A. Le fameux système de modes – normal, insertion, commande – découle naturellement de ces contraintes techniques et de l’art de tirer le meilleur parti de chaque touche.
Joy ne s’embarrasse pas de circuits commerciaux sophistiqués pour diffuser sa création. Il propose des copies sur bandes magnétiques 9 pistes pour 50 dollars, dont 40 servent à financer le développement. Cette distribution artisanale rencontre un succès inattendu : des centaines de copies partent ainsi vers des universités et laboratoires. La supériorité technique de vi sur ses concurrents explique cet engouement, renforcé par sa distribution avec BSD, la version Berkeley d’UNIX.
L’arrivée des VAX en 1977-1978 donne un second souffle au projet. Joy adapte vi aux capacités de ces nouvelles machines, exploitant notamment la mémoire virtuelle. Le développement progresse bien jusqu’à un incident technique qui change tout : une panne de lecteur de bande fait perdre le code source. Les fonctionnalités avancées prévues, comme le support multi-fenêtres, sont abandonnées. Joy préfère stabiliser l’existant et produire une documentation correcte.
L’histoire prend une tournure surprenante quand AT&T incorpore vi dans UNIX System V. Joy apprend cette nouvelle après coup, découvrant son éditeur comme standard dans tout l’univers UNIX. Cette décision s’explique par l’adoption massive de vi dans les Bell Labs eux-mêmes. Paradoxalement, cette popularité créait des problèmes : chaque équipe maintenait sa propre copie, gaspillant la mémoire des machines.
vi établit une philosophie d’édition qui divise encore. Son système modal demande un apprentissage initial conséquent, mais offre ensuite une puissance de manipulation textuelle inégalée. Les uns le trouvent trop complexe, les autres ne jurent que par son efficacité une fois maîtrisé. Cette dualité traverse les décennies sans perdre de sa pertinence.
Les années 1990 voient naître vim (Vi IMproved), qui prolonge l’héritage de l’éditeur original tout en ajoutant les fonctionnalités attendues par les utilisateurs modernes. vi est présent sur tous les systèmes UNIX et leurs descendants, Linux et macOS inclus. Son influence dépasse ces frontières et nombre d’éditeurs modernes proposent un « mode vi » pour séduire ses adeptes.
Cette pérennité étonne dans un domaine où l’obsolescence est rapide. Un outil conçu dans les années 1970 continue de servir quotidiennement des millions d’utilisateurs. Cette longévité tient à son efficacité redoutable pour certaines tâches, sa présence universelle, et sa fiabilité éprouvée. Les administrateurs système et programmeurs apprécient sa disponibilité garantie et sa stabilité à toute épreuve.
L’aventure de vi illustre l’importance des choix initiaux dans la conception logicielle. Les contraintes qui ont guidé Joy – économie de mémoire, exploitation optimale du clavier, compatibilité avec les terminaux limités – ont produit un outil dont l’utilité traverse les époques technologiques. Cette réussite rappelle qu’un bon logiciel ne se juge pas seulement à ses fonctionnalités, mais à sa cohérence conceptuelle et à sa réponse aux besoins fondamentaux des utilisateurs. Cinquante ans après sa création, vi continue de prouver cette vérité tous les jours.