ANNÉES 1970

ed

Certains outils marquent leur époque par leur simplicité radicale plutôt que par leur sophistication. L'éditeur ed appartient à cette catégorie d'innovations qui, nées aux Bell Labs au début des années 1970, ont façonné la manière dont nous concevons l'édition de texte. Son développement répond aux contraintes matérielles des terminaux télétype qui ne savaient qu'imprimer une ligne à la fois sur papier, mais sa conception révèle une philosophie qui dépasse ces limitations techniques.

Le génie d'ed réside dans sa capacité à transformer l'édition de texte en un dialogue entre l'utilisateur et la machine. Contrairement aux éditeurs modernes qui exposent l'intégralité du document, ed oblige à penser le texte comme une séquence de lignes numérotées, stockées dans un espace mémoire appelé buffer. Loin d'être une faiblesse, cette abstraction est une force qui contraint l'utilisateur à développer une représentation mentale précise de la structure de son document.

La syntaxe d'ed se distingue par sa concision. Les commandes a, i, d, s et p suffisent à couvrir la plupart des opérations d'édition. Derrière cette apparente simplicité se cache un système d'adressage d'une richesse remarquable. L'utilisateur est apte à désigner la ligne courante par un simple point, la dernière ligne par un dollar, ou spécifier des plages entières grâce aux expressions régulières. Cette approche révolutionne la manipulation de texte en introduisant une grammaire formelle pour décrire les motifs textuels.

Les expressions régulières constituent peut-être l'héritage le plus durable d'ed. Ces motifs, qui décrivent des structures de texte plutôt que des chaînes littérales, transforment la recherche et la modification en opérations logiques. Le point qui représente n'importe quel caractère, l'astérisque qui quantifie les répétitions, les crochets qui définissent des ensembles, autant de concepts qui inspireront plus tard les langages de programmation et les outils d'analyse textuelle. La commande de substitution s illustre cette puissance puisqu'elle peut transformer des documents entiers en une seule instruction, pourvu que l'utilisateur maîtrise le langage des motifs.

Cette philosophie de l'édition trouve son expression la plus pure dans l'interface minimaliste d'ed. Face à une erreur, l'éditeur se contente d'afficher un laconique « ? ». Cette parcimonie, qui désarçonne les débutants, reflète une conception où l'outil doit disparaître derrière la tâche. Les créateurs d'ed partaient du principe que l'efficacité naît de la maîtrise, et que la verbosité nuit à la concentration.

Les limites techniques transparaissent dans certaines contraintes, celle des 512 caractères maximum par ligne, ou des 256 caractères pour les commandes globales. Ces restrictions, qui semblent dérisoires aujourd'hui, témoignent de l'ingéniosité nécessaire pour créer des outils puissants avec des ressources limitées. Les programmeurs devaient penser chaque octet, optimiser chaque algorithme.

L'influence d'ed dépasse le domaine de l'édition de texte. L'utilitaire grep tire son nom de la commande g/re/p (recherche globale d'expression régulière et impression), transformant une fonctionnalité d'ed en outil autonome. L'éditeur sed étend la logique d'ed au traitement de flux, tandis que vi conserve ses concepts fondamentaux en les adaptant à l'édition visuelle. Cette généalogie révèle comment les innovations se propagent et évoluent dans l'écosystème UNIX.

ed subsiste dans tous les systèmes UNIX et Linux. Sa présence n'est plus anecdotique dans les environnements contraints, lors de connexions réseau limitées, ou dans les scripts d'administration, ses qualités originelles retrouvent leur pertinence. L'éditeur qui semblait destiné aux musées de l'informatique se révèle parfois l'outil le plus adapté à certaines situations.

La documentation originale d'ed, rédigée par Brian W. Kernighan, fixe les standards de la documentation technique UNIX. Elle combine rigueur théorique et pragmatisme, expliquant ce que fait l'outil et pourquoi il le fait ainsi. Cette approche pédagogique, où chaque concept s'appuie sur des exemples concrets, influence encore la manière dont nous documentons les logiciels.