EPOCH
EPOCH © 2025 par Stéphane Fosse - Ce livre est publié selon les termes de la licence CC BY-SA 4.0
Chapitre 5
1960
L’aube d’une nouvelle ère technologique
La décennie 1960 a transformé notre rapport aux machines. Entre deux blocs qui se toisaient dans une guerre jamais déclarée, l’informatique s’est frayé un chemin qui dépassait les simples enjeux militaires. Le choc provoqué par Spoutnik en 1957 résonnait encore dans les couloirs de Washington. La création de la DARPA en 1958 fut la réponse américaine : un laboratoire d’idées qui allait bouleverser notre rapport à la technologie.
L’Amérique investit alors des sommes colossales dans la recherche. Le MIT, Stanford, Berkeley, ces noms devinrent synonymes d’innovation. Dans leurs laboratoires, des jeunes gens en chemise blanche et cravate étroite imaginaient l’avenir. Le gouvernement américain, inquiet de la montée en puissance soviétique, ne comptait plus ses dollars pour garder l’avantage technologique.
Les entreprises commençaient à s’équiper de ces machines énormes aux prix vertigineux. Les banques, les assurances et les industries lourdes cherchaient à dompter le flot grandissant de données qui submergeait leurs services comptables. Ces premiers ordinateurs, véritables cathédrales électroniques, transformèrent l’organisation du travail. Les cartes perforées remplaçaient progressivement les registres manuscrits.
AT&T modernisait son réseau avec la commutation électronique. Ce changement technique, peu spectaculaire pour le grand public, constituait la première brique des futurs réseaux informatiques, un édifice colossal. Les ingénieurs des Bell Labs menaient les premières expériences de transmission numérique.
La jeunesse des années 60 regardait le monde différemment. Les campus universitaires bouillonnaient d’idées nouvelles. Pour ces étudiants, l’ordinateur ne se réduisait pas à un outil militaire ou comptable. Ils y voyaient un moyen d’expression, un outil de liberté. Cette vision alternative de l’informatique germait dans l’esprit des futurs pionniers de la micro-informatique.
La course à l’espace stimulait l’innovation. Comment envoyer un homme sur la Lune sans calculateurs performants ? La NASA exigeait des ordinateurs fiables, capables de résister aux conditions extrêmes. L’informatique embarquée naquit de cette contrainte. Plus tard, ces avancées furent adaptées aux besoins civils. Le programme Apollo accoucha ainsi d’innovations qui dépassèrent par la suite le cadre spatial.
L’Europe, meurtrie par la guerre, tentait de suivre le mouvement. En France, Charles de Gaulle lança le Plan Calcul en 1966, rêvant d’indépendance technologique. La Compagnie Internationale pour l’Informatique devait incarner cette ambition française. Le Royaume-Uni capitalisait sur l’héritage d’Alan Turing et des calculateurs de Bletchley Park. L’Allemagne, tout à sa reconstruction industrielle, automatisait ses usines.
À l’autre bout du monde, le Japon s’éveillait. Fujitsu et NEC, ces noms inconnus en Occident, développaient leurs premiers ordinateurs. Le pays du Soleil-Levant initiait sa future domination dans l’électronique.
En 1964, IBM changea les règles du jeu avec son System/360. Cette famille d’ordinateurs compatibles entre eux créa un standard de fait. Fini le temps où chaque machine parlait un langage différent. Cette standardisation accéléra l’adoption de l’informatique dans les entreprises moyennes. Le marché du logiciel trouva là un terreau fertile pour se développer.
Le MIT bouillonnait d’idées. Le Compatible Time-Sharing System permettait à plusieurs personnes d’utiliser simultanément le même ordinateur, concept qui annonçait l’informatique interactive. À Xerox PARC, des chercheurs inventaient les interfaces graphiques qui rendraient plus tard l’ordinateur accessible à tous.
Ces transformations technologiques inquiétaient les syndicats qui redoutaient la disparition massive d’emplois. Ces questions se posaient déjà, si actuelles avec l’intelligence artificielle. La société découvrait qu’une révolution technologique entraîne toujours des bouleversements sociaux.
L’ordinateur fascinait le grand public. La télévision montrait ces machines mystérieuses aux lumières clignotantes. L’ordinateur de 2001, l’Odyssée de l’espace de Stanley Kubrick, HAL 9000, incarnait à la fois la promesse et la menace de l’intelligence artificielle. L’informatique entrait dans l’imaginaire collectif.
La fin des années 60 vit naître une préoccupation nouvelle : la protection des données personnelles. L’informatisation des administrations soulevait des questions inédites sur la vie privée. Les premiers textes juridiques encadrant ces enjeux commencèrent à apparaître.
Les années 1960 ont donc vu l’ordinateur quitter les laboratoires pour entrer dans le monde réel. Cette décennie a défini les contours de notre relation aux machines. Les choix techniques, économiques et culturels de cette période continuent d’influencer notre présent numérique. Dans les universités américaines des années 60 s’écrivait l’histoire du XXIe siècle. Les ordinateurs pesaient plusieurs tonnes et coûtaient l’équivalent de 4 000 000 euros actuels. De nos jours, chacun porte dans sa poche une machine infiniment plus puissante.
Quicksort
En 1961, Charles Antony Richard Hoare ne se doutait pas, qu’il venait de concevoir l’un des algorithmes les plus durables de l’informatique. Son Quicksort naît dans un contexte particulier où les ordinateurs traitent des volumes de données croissants et les méthodes de tri traditionnelles montrent leurs limites. Alors jeune chercheur britannique, il propose une approche radicalement différente.
L’idée paraît simple au premier regard. On choisit un élément du tableau, le « pivot », puis on réorganise les autres éléments autour de lui : les plus petits d’un côté, les plus grands de l’autre. On répète ensuite l’opération sur chaque moitié jusqu’à obtenir un tableau entièrement trié. Cette méthode de « diviser pour régner » révolutionne l’approche du tri en informatique.
Sa publication de 1962 dans le Computer Journal présente les premiers résultats formels. Il y démontre que son algorithme surpasse nettement les méthodes existantes. Mais l’histoire de Quicksort ne fait que commencer.
Dès 1965, R.S. Scowen repère une faiblesse dans le choix aléatoire du pivot. Il développe Quickersort, qui sélectionne plutôt l’élément médian du tableau. Cette modification change la donne pour les tableaux partiellement triés, qui posaient problème à la version originale de Hoare.
R.C. Singleton franchit une nouvelle étape en 1969 avec sa méthode median of three. Au lieu de se contenter d’un seul élément, il examine trois valeurs : le premier élément, celui du milieu et le dernier. Il choisit ensuite la médiane de ces trois comme pivot. Cette astuce améliore les performances moyennes d’environ 5%, un gain substantiel pour l’époque.
Robert Sedgewick transforme véritablement la compréhension de l’algorithme. Soutenue à Stanford en 1975, sa thèse de doctorat dissèque mathématiquement Quicksort sous tous ses aspects. Ses travaux, publiés par la suite en 1977 dans Acta Informatica, établissent des formules précises pour calculer le temps d’exécution sur des machines réelles. Il ne s’arrête pas à la théorie et introduit le loop unwrapping, une technique qui réduit les coûts de gestion des boucles internes.
L’année suivante, en 1978, Sedgewick propose une nouvelle méthode de partitionnement qui fera office de référence. Deux indices parcourent le tableau en sens inverse, se rapprochant progressivement l’un de l’autre. Cette approche minimise le nombre d’échanges d’éléments, accélérant l’exécution.
Les années 1980 voient naître des variantes plus sophistiquées. Roger L. Wainwright explore en 1985 une approche hybride avec Bsort, qui mélange les techniques de Quicksort et du tri à bulles. Deux ans plus tard, il développe Qsorte, capable de détecter les sous-séquences déjà triées et d’éviter ainsi des partitionnements inutiles.
En 1993, les travaux de Bentley et McIlroy ont pour objectif de créer une version optimisée pour la bibliothèque standard du langage C. Ils conçoivent un algorithme adaptatif qui change de stratégie selon la taille du tableau. Leur innovation la plus remarquable reste le partitionnement fat en trois parties, spécialement conçu pour traiter efficacement les tableaux contenant de nombreux éléments identiques.
À la fin du XXe siècle et au début du XXIe, les chercheurs adaptent Quicksort aux chaînes de caractères, aux architectures parallèles et aux grandes bases de données. L’algorithme s’installe dans pratiquement toutes les bibliothèques standard des langages de programmation modernes.
Au-delà de ses performances, Quicksort marque les esprits par sa structure élégante. Il sert de cas d’école pour enseigner les techniques de division-conquête et l’analyse probabiliste des algorithmes. Les étudiants en informatique du monde entier décortiquent son fonctionnement, apprennent à calculer sa complexité et comprennent pourquoi il fonctionne si bien en moyenne.
L’évolution de Quicksort reflète celle de l’algorithmique dans son ensemble. Les premiers travaux se concentraient sur la complexité théorique, cherchant à prouver mathématiquement l’efficacité des méthodes. Progressivement, l’attention s’est déplacée vers les performances pratiques.
Plus de soixante ans après sa naissance, Quicksort garde toute sa pertinence. Sa rapidité moyenne, sa faible consommation mémoire et sa fiabilité en font le choix par défaut de nombreux systèmes informatiques. Les processeurs modernes, les nouvelles architectures et les volumes de données toujours croissants continuent d’inspirer les chercheurs qui adaptent encore cet algorithme vénérable.
Bull Gamma 60
En 1960, la Compagnie des Machines Bull, fleuron de l’industrie française, dévoilait une création exceptionnelle : le Gamma 60. Cette machine, conçue pour accomplir aussi bien des tâches commerciales que scientifiques, marqua son époque par des innovations techniques audacieuses.
Le Gamma 60 se démarquait par son approche radicale du traitement de l’information. Sa particularité était sa capacité à gérer des fonctions ou problèmes simultanément sans programmation spécifique de ce parallélisme. Une prouesse technique qui rendait possible une utilisation maximale des ressources matérielles.
L’organisation interne suivait une logique modulaire avant-gardiste. Son cœur battait autour d’une unité principale dotée d’une mémoire à tores magnétiques, couplée à une unité de contrôle supérieure. Cette dernière comportait deux éléments stratégiques, à savoir un distributeur de programmes et un distributeur de données. Autour gravitaient diverses unités spécialisées : arithmétique, logique, comparaison, traduction, stockage sur tambour magnétique, sans oublier les dispositifs d’entrée-sortie tels que lecteurs de cartes et de bandes, perforateurs et imprimantes.
La mémoire centrale exploitait la technologie des tores magnétiques saturés, avec 32 768 « catenæ » – blocs de 24 bits représentant environ 786 432 bits. Cette capacité permettait de stocker 196 608 chiffres décimaux ou 131 072 caractères alphabétiques, chaque catena étant accessible en seulement 11 microsecondes. Le terme latin « catena » signifiant « chaîne » fut délibérément choisi par les ingénieurs pour marquer leur distance avec le vocabulaire informatique anglo-saxon. Ce qui n’a visiblement pas pris.
Le système de codage du Gamma 60 témoignait d’une adaptabilité remarquable. Les données numériques utilisaient un code décimal sur 4 bits, tandis que les données alphanumériques employaient 6 bits. Les instructions, quant à elles, apparaissaient en binaire pur. Cette variété de formats avait pour objectifs d’économiser de l’espace, de coder efficacement, de simplifier la conversion entre supports, et de maximiser les débits de transfert.
L’unité arithmétique faisait les opérations sur des nombres en virgule fixe comme en virgule flottante. La représentation numérique mobilisait deux catenæ, structurées avec un bit de signe, 40 bits pour coder 10 chiffres décimaux et 7 bits dédiés à l’exposant décimal, couvrant une plage de 0 à 79. Selon leur complexité, les instructions nécessitaient 2 à 4 catenæ. À titre d’exemple, une addition en virgule flottante à trois adresses prenait 150 microsecondes, contre 88 microsecondes pour une version à adresse unique.
Les périphériques du système affichaient des performances solides. Les unités de bande magnétique utilisaient des supports d’un demi-pouce comportant 8 canaux d’information. Avec une densité de 200 bits par pouce et une vitesse de défilement de 50 pouces par seconde, elles atteignaient des débits de 20 000 chiffres décimaux ou 13 333 caractères alphabétiques chaque seconde. Les lecteurs traitaient 300 cartes perforées par minute, tandis que les imprimantes à volant d’inertie produisaient 300 lignes par minute, chacune pouvant contenir 120 caractères parmi une palette de 60.
La véritable avancée du Gamma 60 résidait dans son organisation du contrôle. Chaque élément fonctionnel disposait de son propre programme et de sa propre unité de contrôle. Une fois paramétrés, ces modules fonctionnaient en totale autonomie. Seuls la mémoire principale et les bus de transfert étaient mutualisés entre les différentes unités. Le distributeur de programmes orchestrait la répartition des instructions et établissait les verrouillages nécessaires pour éviter les conflits entre programmes concurrents. En parallèle, le distributeur de données gérait les priorités d’accès aux bus de transfert.
Cette architecture sophistiquée permettait d’exécuter côte à côte des tâches très hétérogènes : un calcul de paie, une inversion de matrice, plusieurs conversions de bandes vers l’imprimante, de cartes vers bande magnétique, ou de rubans perforés vers bande magnétique. Et cela sans presque aucune perte de performance : le temps perdu dans cette exécution simultanée ne dépassait presque jamais quelques pourcents par rapport à un traitement séquentiel.
Issu de l’industrie informatique française du XXe siècle, le Gamma 60 fut commercialisé dès 1960, mais son parcours fut malheureusement écourté par les difficultés financières de Bull qui conduisirent au rachat de l’entreprise par General Electric en 1964. Cette acquisition mit un terme au développement indépendant de la machine, mais ses concepts sur le traitement parallèle et la modularité étaient novateurs.
APL
À Harvard, Kenneth E. Iverson planche sur sa thèse de doctorat sous la direction d’Howard Aiken et Wassily Leontief. Son travail porte sur la résolution automatique d’équations différentielles linéaires dans un modèle économique. Cette première incursion dans la programmation l’interroge : comment mieux représenter les algorithmes et manipuler les données ?
La réponse germe en 1956 quand Iverson enseigne dans le tout nouveau programme d’Automatic Data Processing qu’Aiken vient de créer à Harvard. Il commence à élaborer une notation formelle pour décrire et analyser le traitement des données. Cette notation, qui n’a pas encore de nom, lui sert d’abord comme outil pédagogique. Avec Frederick P. Brooks Jr., alors doctorant, il rédige un livre intitulé « Automatic Data Processing » qui formalise ces premières réflexions.
L’année 1957, Iverson travaille comme consultant chez McKinsey & Company. Sa notation trouve là un terrain d’application concret, agissant tel un langage de communication entre concepteurs et programmeurs sur des systèmes complexes. Les équipes découvrent l’intérêt de cette approche pour clarifier des architectures autrement difficiles à appréhender.
Le hasard des carrières amène Iverson chez IBM en 1960. Il y rencontre Adin Falkoff, qui s’intéresse immédiatement à cette notation pour ses travaux sur les mémoires à recherche parallèle. Cette collaboration va transformer une idée académique en nouveau paradigme informatique.
En 1962, Iverson publie « A Programming Language ». L’ouvrage présente formellement sa notation, mais celle-ci reste cantonnée aux tableaux noirs et au papier. Pour l’utiliser sur ordinateur, il faut la traduire manuellement en Fortran ou dans un autre langage existant. Une étape intermédiaire frustrante mais nécessaire.
Tout change en 1964. Iverson et Falkoff décident de transformer cette notation théorique en langage de programmation opérationnel. Lawrence M. Breed les rejoint en 1965 pour concevoir une version pratique d’APL destinée aux systèmes interactifs à temps partagé. La première contrainte à surmonter concerne les caractères. Le terminal IBM 1050 ne peut afficher que 88 symboles. Cette limitation, d’abord perçue comme un handicap, pousse l’équipe à rationaliser et généraliser plusieurs aspects du langage. Finalement, cette contrainte se révèle bénéfique puisqu’elle force une clarification conceptuelle salutaire.
Dès 1970, APL conquiert ses premiers utilisateurs. Des milliers de personnes l’adoptent, comme les équipes de recherche et de conception d’IBM, le personnel du NASA Goddard Space Flight Center, les planificateurs financiers de grandes entreprises. Le langage séduit par son élégance et son caractère pratique, malgré les critiques de la communauté informatique établie qui le juge trop ésotérique.
Au Laboratoire de Physique Appliquée Johns Hopkins, le Centre de Calcul F.T. McClure pousse l’innovation plus loin. L’équipe développe des logiciels système APL spéciaux pour l’ordinateur IBM 360/91. Ces développements exploitent les capacités de traitement vectoriel de la machine et transforment radicalement les performances d’exécution. En 1978, le centre franchit une nouvelle étape avec un système APL capable de gérer des applications très volumineuses grâce à la technologie de mémoire virtuelle.
La vraie innovation d’APL réside dans son traitement des tableaux comme objets primitifs. Cette approche bouleverse la façon de concevoir les algorithmes. Les programmeurs pensent naturellement en termes de traitement vectoriel et matriciel plutôt qu’en boucles et conditions. Le langage se distingue par sa simplicité syntaxique remarquable avec seulement trois types d’instructions possibles. L’affectation de nom, le branchement, ou ni l’un ni l’autre. Les règles sémantiques restent peu nombreuses et les définitions des fonctions primitives s’affranchissent des représentations de données.
Les années 1970 voient APL progresser malgré le soutien limité des principaux fournisseurs d’ordinateurs. L’introduction du système de variables partagées en 1973 avec APLSV est une innovation qui résout plusieurs problèmes systèmes d’APL/360, particulièrement la communication entre programmes concurrents et avec des périphériques externes. Les possibilités s’élargissent considérablement.
La décennie suivante confirme cette expansion. APL s’installe sur pratiquement tous les ordinateurs du marché, y compris les ordinateurs personnels comme l’IBM PC et le Tandy TRS-80. De nombreuses sociétés de temps partagé commercial proposent APL comme service. Certaines se spécialisent dans les bases de données financières internationales mises à jour en temps réel, exploitant la capacité du langage à traiter efficacement de gros volumes de données numériques.
Contrairement aux autres langages majeurs de l’époque qui s’éloignent des notations mathématiques traditionnelles, APL poursuit leur développement. Il conserve les symboles établis quand c’est possible et emploie une terminologie mathématique cohérente. Cette fidélité aux conventions mathématiques n’empêche pas quelques écarts dictés par les principes de simplicité et d’uniformité, comme l’adoption d’une forme unique pour les fonctions dyadiques et monadiques.
Le développement d’APL illustre l’importance de principes édictés clairement. D’abord la simplicité, recherchée à travers l’uniformité, la généralité et la concision. Ensuite le pragmatisme, manifesté par l’attention portée aux applications réelles et aux limitations du matériel. Le fait que le langage ait été développé pendant huit ans sans installation machine a donné une liberté de modification impossible pour les langages contraints par une base d’utilisateurs existante.
Simula
En 1961 au Norwegian Computing Center, Kristen Nygaard initie le développement d’un nouveau langage de programmation destiné à la simulation d’événements discrets. Ce projet, qui deviendra Simula, marque le début d’une collaboration étroite avec Ole-Johan Dahl, qui le rejoint en 1962. Les deux chercheurs partagent une expérience au Norwegian Defence Research Establishment, mais leurs parcours diffèrent : Nygaard s’est concentré sur la recherche opérationnelle et les simulations Monte-Carlo, tandis que Dahl a développé des logiciels système et des langages de programmation.
Le développement de Simula répond au besoin concret de disposer d’outils adaptés pour simuler des systèmes complexes comme les réseaux de neurones, les systèmes de communication ou les flux de trafic. Mais la programmation de telles simulations en langage machine ou en Fortran s’avère ardue. Il manque un ensemble cohérent de concepts pour comprendre et décrire la structure et les interactions dans ces systèmes complexes.
La première version du langage, Simula I, est développée entre 1962 et 1964 sous contrat avec UNIVAC. Les concepteurs choisissent de baser leur langage sur ALGOL 60, notamment pour sa structure en blocs et sa sécurité de programmation. L’innovation majeure de Simula I réside dans l’introduction du concept de processus, qui représente des entités capables d’exécuter des actions en quasi-parallèle tout en portant leurs propres données. Ces processus peuvent interagir et être programmés pour simuler le comportement d’objets du monde réel.
Le développement de Simula I nécessite un nouveau système de gestion de la mémoire basé sur des listes chaînées, développé par Dahl, s’affranchissant de la contrainte « dernier entré, premier sorti » (LIFO) d’ALGOL 60 et autorise une existence des processus indépendante de la structure d’appel des blocs. Le compilateur est opérationnel fin 1964 et le langage connaît un certain succès dans la communauté de la simulation. Il est notamment utilisé sur les ordinateurs UNIVAC 1100, Burroughs B5500 et URAL 16. Cependant, Dahl et Nygaard réalisent que les concepts développés pour Simula I pourraient être utiles au-delà de la simulation, pour la programmation générale et la conception de systèmes.
Cette réflexion mène au développement de Simula 67, une refonte complète du langage intégrant les concepts de classe et d’héritage. L’inspiration vient en partie des travaux de Tony Hoare sur la manipulation des enregistrements, présentés lors d’une école d’été de l’OTAN en 1966. La percée conceptuelle survient en janvier 1967 avec l’idée du « préfixage de classe », c’est-à-dire qu’une classe peut en préfixer une autre, créant ainsi une relation d’héritage où la seconde hérite des propriétés de la première.
Simula 67 introduit des concepts fondamentaux qui influenceront durablement la programmation : les objets comme structures de données avec leurs opérateurs associés, les classes comme modèles pour créer ces objets, l’héritage pour spécialiser les classes, et les procédures virtuelles permettant de modifier le comportement des objets dans les sous-classes. Le langage distingue la vue interne d’un objet (ses variables et constantes) de sa vue externe (les procédures accessibles à distance).
La standardisation de Simula 67 s’effectue lors de la Simula Common Base Conference en juin 1967, qui établit le Simula Standards Group pour gérer l’évolution du langage. Les premières installations apparaissent dès 1969 sur les ordinateurs Control Data, suivies par des versions pour UNIVAC et IBM. La diffusion du langage est toutefois freinée par les prix élevés demandés par le Norwegian Computing Center, sous la pression du conseil norvégien de la recherche qui considère qu’un langage de programmation n’a qu’une durée de vie de trois à cinq ans.
Alan Kay et son équipe au Xerox PARC s’inspirent de Simula pour créer Smalltalk, qui popularise la programmation orientée objet dans les années 1970. Les concepts de Simula influencent le développement des interfaces graphiques, d’abord sur le Macintosh puis dans Windows. Le langage inspire de nombreux successeurs, comme le C++ par Bjarne Stroustrup, qui diffuse largement la programmation orientée objet, Eiffel par Bertrand Meyer, et plus récemment Java.
Le succès des idées de Simula s’explique en partie par leur origine dans la modélisation de simulation, où la conception en termes d’objets coopérants est naturelle. La généralité de l’approche a permis son application à de nombreux aspects du développement logiciel. Les concepts introduits par Dahl et Nygaard sont devenus si omniprésents.
SNOBOL
L’année 1962 voit naître dans les couloirs des Bell Labs de Whippany, dans le New Jersey, un projet qui changera la façon de concevoir le traitement des chaînes de caractères. David J. Farber, Ralph E. Griswold et Ivan P. Polonsky travaillent au département Programming Research Studies, une unité qui déménagera bientôt à Holmdel. Sous la direction de Chester Lee, ce laboratoire explore des territoires variés allant de la théorie des automates, en passant par l’analyse de graphes ou les processeurs associatifs. Leur quotidien les confronte aux limites frustrantes du langage SCL, créé par Chester Lee lui-même. Les performances décevantes, l’espace de données restreint et une syntaxe tortueuse qui transforme les opérations simples en véritables parcours du combattant finissent par les convaincre qu’une alternative s’impose.
Après quelques tentatives avec COMIT, un langage dédié au traitement du langage naturel, le trio décide de prendre les choses en main. Le développement de ce qui deviendra SNOBOL commence dans le plus grand secret, à l’insu de Chester Lee qui peaufine justement une nouvelle version de son SCL. Cette situation quelque peu cocasse prend une tournure embarrassante en novembre 1962 quand les deux projets sortent au grand jour. Le département ne peut se permettre de financer deux développements concurrents, mais l’équipe de SNOBOL a une longueur d’avance considérable. Chester Lee, bon joueur, accepte finalement l’inévitable.
Le baptême du nouveau langage relève de l’improvisation. D’abord appelé SCL7, puis rebaptisé SEXI pour String EXpression Interpreter, il finit par hériter du nom SNOBOL avec un pseudo-acronyme délibérément fantaisiste : StriNg Oriented symBOlic Language. Cette plaisanterie embarrassera plus tard ses créateurs lors des présentations officielles, n’imaginant pas le retentissement que prendrait leur création.
Au début de 1963, la première version opérationnelle tourne sur IBM 7090. L’équipe fait le choix audacieux de l’interprétation pure, écartant d’emblée l’idée d’un compilateur traditionnel qu’elle juge inadapté aux spécificités voulues. Cette décision s’avère payante car trois semaines suffisent pour obtenir une version utilisable, un exploit dont l’équipe tire une fierté légitime et qui prouve qu’un langage de programmation peut voir le jour en peu de temps sans engloutir des budgets considérables.
SNOBOL bouleverse les habitudes en traitant les chaînes de caractères comme des entités unifiées plutôt que comme de simples tableaux. Cette approche s’accompagne de mécanismes sophistiqués de reconnaissance de motifs avec retour arrière, ouvrant des perspectives inédites pour l’analyse textuelle. Le succès rencontré aux Bell Labs pousse naturellement vers des versions enrichies. SNOBOL2 arrive dès 1964 avec des fonctions intégrées pour manipuler chaînes et nombres. SNOBOL3 suit en introduisant les fonctions définissables par l’utilisateur.
En 1966, SNOBOL4 révolutionne l’approche. Les motifs deviennent des objets de données à part entière, de multiples types apparaissent incluant tableaux et tables, la compilation dynamique fait son entrée avec les expressions non évaluées. L’utilisation d’un langage machine abstrait baptisé SIL garantit une portabilité remarquable.
La philosophie de distribution de SNOBOL tranche avec les pratiques de l’époque. Contrairement aux usages établis, le langage se répand gratuitement, sans restriction aucune, code source inclus. Cette générosité inhabituelle, accompagnée d’un support technique sans frais de la part des Bell Labs, facilite son adoption massive dans les universités et contribue largement à son rayonnement dans la communauté informatique.
Les applications dépassent les intentions initiales. Conçu pour manipuler des formules et analyser des graphes, SNOBOL trouve sa voie dans le formatage de documents et l’informatique appliquée aux sciences humaines. La compilation, le prototypage rapide et le traitement de données non numériques élargissent encore son champ d’action. Ses concepts de manipulation de chaînes et de reconnaissance de motifs influencent de nombreuses créations postérieures, tandis que des extensions SNOBOL enrichissent Fortran, PL/I et bien d’autres.
Partie d’un besoin pratique de quelques chercheurs, SNOBOL a fini par transformer l’approche du traitement des chaînes de caractères et influencer durablement l’évolution des langages de programmation. Elle démontre aussi que la liberté d’expérimentation et la générosité dans la diffusion, bien avant les logiciels libres, constituent des moteurs puissants pour l’innovation technologique.
Spacewar!
En 1962, le MIT vient de recevoir son nouveau PDP-1 de Digital Equipment Corporation, une machine qui tranche avec les monstres de calcul habituels. Cet ordinateur dispose d’un écran cathodique capable d’afficher des images en temps réel, une prouesse technique qui va changer la donne.
Steve Russell, jeune programmeur passionné de science-fiction, découvre cette machine avec émerveillement. Grand lecteur des aventures spatiales d’Edward Elmer Smith et de sa série Lensman, il imagine aussitôt recréer sur cet écran les batailles cosmiques qui l’ont tant fait rêver. Avec quelques complices, il se lance dans la création de ce qui deviendra Spacewar!, sans se douter qu’il vient de donner naissance au premier jeu vidéo interactif de l’histoire.
Le principe qu’ils développent semble d’une simplicité déconcertante : deux vaisseaux s’affrontent dans l’espace, chacun manœuvré par un joueur. Rotation, accélération, tir de torpilles, les commandes de base suffisent à créer des duels acharnés. Mais Russell et son équipe placent une étoile au centre de l’écran, dont l’attraction gravitationnelle perturbe les trajectoires et transforme chaque partie en défi tactique.
Le PDP-1 n’est pas conçu pour ce genre d’exercice. Dépourvu d’instructions de multiplication et de division, il oblige les programmeurs à redoubler d’ingéniosité pour calculer rotations et trajectoires. Cette contrainte technique, loin de décourager l’équipe, stimule leur créativité. Alan Kotok et Bob Saunders fabriquent aussi des boîtiers de contrôle sur mesure, abandonnant les interrupteurs rudimentaires du panneau de l’ordinateur pour des commandes dignes d’un cockpit spatial.
Peter Samson pousse le raffinement plus loin encore. Il programme un fond d’étoiles d’une précision astronomique, reproduisant fidèlement la voûte céleste. Cette addition, baptisée avec ironie Expensive Planetarium, transforme l’écran en fenêtre sur le cosmos. L’équipe ajoute bientôt une fonction d’« hyperespace », un bouton de panique qui téléporte le vaisseau en détresse vers un point aléatoire de l’écran, au risque croissant de l’autodétruire à chaque usage.
La diffusion de Spacewar! suit un rythme différent de ce que racontent les légendes. Les 55 exemplaires qui sortent des chaînes de production, dont une vingtaine équipés d’écrans, font du PDP-1 une machine rare. Le jeu circule d’abord dans le cercle fermé des universités et centres de recherche qui possèdent ces ordinateurs d’exception. Il faut attendre la fin des années 1960 et l’arrivée de nouveaux modèles d’écrans chez IBM, DEC, HP et Control Data Corporation pour que Spacewar! commence vraiment à se répandre.
Chaque installation développe ses propres variantes. À l’Université du Minnesota, Albert Kuhfeld imagine en 1967 le « Minnesota Panic Button », un dispositif de camouflage qui rend les vaisseaux invisibles. À Cambridge, M.S. Peterson et John C. Viner créent DUEL, une version où l’espace se transforme en environnement « visqueux » et ralentit progressivement les combattants. À l’Université de l’Illinois, sur le système PLATO, Richard Blomme adapte le jeu avec des graphismes en caractères ASCII et invente un système de mise en relation des joueurs d’une modernité saisissante.
Ces nuits de programmation au MIT ne se déroulent jamais pendant les heures officielles. Les étudiants attendent que les machines se libèrent de leurs tâches de recherche pour s’adonner à leurs expérimentations. Cette clandestinité nocturne forge une culture informatique inédite, où le plaisir de programmer l’emporte sur les contraintes institutionnelles. Spacewar! est un terrain d’apprentissage inattendu où les étudiants qui le programment assimilent les principes de l’informatique plus vite qu’avec les méthodes académiques traditionnelles.
Le jeu attire bientôt l’attention au-delà du monde universitaire. En 1971, Nolan Bushnell et Ted Dabney, après avoir découvert Spacewar! à Stanford, créent Computer Space, première tentative de commercialisation du jeu vidéo en salle d’arcade. Bill Pitts et Hugh Tuck suivent une voie identique avec Galaxy Game, une adaptation installée à Stanford. Ces initiatives marquent les balbutiements d’une industrie qui va bouleverser les loisirs.
L’approche de Russell et son équipe tranche avec la vision utilitariste de l’informatique. Leurs machines, initialement conçues pour le calcul scientifique et la gestion administrative, révèlent soudain leur potentiel créatif et ludique. Spacewar! démontre l’importance de l’interactivité, de l’interface graphique et de la programmation centrée sur l’utilisateur, des concepts qui vont influencer le développement de l’informatique personnelle.
Le code source circulant librement entre les universités représente l’esprit de partage qui caractérisera plus tard le logiciel libre. Cette ouverture encourage les programmeurs à modifier et enrichir le jeu, créant une multitude de versions. DEC adopte Spacewar! comme programme de test pour ses ordinateurs : si le jeu fonctionne correctement, la machine est déclarée opérationnelle.
En 1972, Stewart Brand organise au Stanford Artificial Intelligence Laboratory les « Spacewar Olympics », un tournoi qui propulse le jeu sous les projecteurs. Le magazine Rolling Stone couvre l’événement, présentant au grand public cette nouvelle forme de compétition électronique. Ralph Gorin a développé pour l’occasion une version sophistiquée acceptant jusqu’à cinq joueurs simultanés, agrémentée de mines spatiales et autres innovations tactiques.
ASCII
Le code ASCII naît dans les années 1960, alors que chaque constructeur informatique invente ses propres règles. À cette époque, échanger des données entre machines relève du parcours du combattant. Un caractère sur un ordinateur IBM est illisible sur une machine Control Data, et réciproquement. Cette cacophonie technologique freine tout développement sérieux de l’informatique.
En 1961, l’American Standards Association décide de mettre fin à cette anarchie. Son comité X3 reçoit la mission de créer un standard universel. Le projet atterrit entre les mains du sous-comité X3.2, puis du groupe de travail X3.2.4. John L. Little, ingénieur au National Bureau of Standards, prend les rênes de cette entreprise délicate. Il faut convaincre des constructeurs qui utilisent déjà leurs propres systèmes, comme Control Data avec son FIELDATA sur 6 bits ou IBM avec l’EBCDIC sur 8 bits. Mais chacun campe sur ses positions.
Après des mois de débats, le comité tranche pour un code sur 7 bits. Ce compromis facilite la représentation de 128 caractères différents, suffisant pour couvrir l’alphabet latin, les chiffres et la ponctuation. Un code sur 6 bits aurait été trop restrictif, tandis que 8 bits auraient alourdi les coûts de transmission. Les 7 bits laissent aussi la possibilité d’ajouter un huitième bit pour détecter les erreurs, fonction précieuse quand les lignes téléphoniques crachotent.
ASCII voit le jour en 1963, et subit une révision en 1967 avant sa dernière version de 1986. Les concepteurs réservent les 32 premières positions aux caractères de contrôle, hérités des téléscripteurs, comme le retour chariot, le saut de ligne, la tabulation. Les 95 positions suivantes accueillent lettres, chiffres et symboles. Rien n’est laissé au hasard dans cette organisation. Les chiffres s’alignent pour faciliter les conversions, les lettres respectent l’ordre alphabétique, et la ponctuation trouve sa place logique.
En novembre 1968, le National Bureau of Standards adopte ASCII comme premier standard fédéral de traitement de l’information. Le président Lyndon Johnson signe cette décision qui rend ASCII obligatoire pour tous les achats informatiques du gouvernement américain. Comme il constitue le plus gros client du secteur, cette mesure pousse l’ensemble de l’industrie vers ASCII.
Dans la réalité, ASCII sur 7 bits s’intègre généralement dans un code sur 8 bits : soit le bit supplémentaire est à zéro, soit il sert au contrôle de parité. Cette approche s’adapte bien aux ordinateurs qui manipulent l’information par groupes de 8 bits. Le bit de parité détecte les erreurs de transmission : dans un système de parité paire, il s’ajuste pour maintenir un nombre pair de bits à 1. Si une erreur survient pendant le transfert, le décompte change et signale le problème.
Le succès d’ASCII inspire des variantes nationales. Le Canada développe sa version pour les caractères français, l’Inde crée ISCII, le Vietnam VISCII, la Yougoslavie YUSCII. Chaque pays adapte le code à ses besoins linguistiques. En 1972, ASCII intègre la norme internationale ISO/CEI 646, qui autorise certains réaménagements nationaux. Mais ASCII s’est imposé comme standard de fait, créant parfois des confusions quand d’autres pays redéfinissent certaines positions.
L’arrivée des ordinateurs 16 et 32 bits ouvre la voie aux extensions 8 bits. Ces versions conservent les 128 caractères ASCII originaux et ajoutent 128 nouvelles positions. L’IBM PC introduit la page de codes 437, qui remplace les caractères de contrôle par des symboles graphiques. Digital Equipment Corporation conçoit le jeu multinational pour son terminal VT220, l’une des premières extensions pensées pour l’international plutôt que pour les graphiques. La norme ISO/CEI 8859 finit par s’imposer, dérivée du système de Digital. Microsoft développe ensuite Windows-1252, qui ajoute les signes typographiques nécessaires à l’impression soignée. Ces trois systèmes – ASCII 7 bits, ISO-8859-1 et Windows-1252 – dominent l’informatique jusqu’à la fin des années 2000.
Unicode prend depuis le relais d’ASCII, capable de gérer des dizaines de milliers de caractères. Mais les concepteurs d’Unicode ont eu la sagesse de préserver la compatibilité : les 128 caractères ASCII conservent leurs codes d’origine. ASCII est valide en UTF-8, l’encodage dominant actuel, ce qui en fait un sous-ensemble d’Unicode.
Plus de soixante ans après sa naissance, ASCII continue de structurer nos échanges numériques. Quand tout s’effondre, quand les formats sophistiqués échouent, ASCII se maintient. Internet repose sur lui, les protocoles de communication l’utilisent, et nos smartphones décodent encore ses caractères. Cette longévité exceptionnelle témoigne d’une conception remarquable, fruit d’un consensus industriel rare.
Modem Bell 103
En 1963, AT&T commercialise le Bell 103, un modèle de modem qui va transformer la façon dont les ordinateurs communiquent entre eux. Cette machine peut être qualifiée de technologie simple et inaugurale. Elle rend possible la transmission bidirectionnelle de données numériques sur les lignes téléphoniques ordinaires, à la vitesse respectable de 300 bits par seconde.
Cette année-là, les réseaux informatiques ne sont pas légions. Les ordinateurs, ces mastodontes coûteux, commencent tout juste à se répandre dans quelques grandes entreprises. Chaque machine demeure isolée dans son centre de calcul, incapable de dialoguer avec ses semblables. Comment faire voyager des informations numériques sur un réseau conçu pour la voix humaine ? Le réseau téléphonique commuté représente pourtant la seule infrastructure de communication véritablement étendue et immédiatement disponible.
AT&T trouve la solution dans une technique appelée modulation par déplacement de fréquence, d’où son nom : MOdulation/DEModulation. Le principe repose sur l’idée astucieuse de transformer chaque bit en son musical. Le Bell 103 traduit les 0 et les 1 en fréquences sonores distinctes que les lignes téléphoniques savent transporter. Pour l’émission, il utilise 1070 Hz pour représenter un bit et 1270 Hz pour l’autre. À la réception, il écoute sur d’autres fréquences : 2025 Hz et 2225 Hz. Cette répartition ingénieuse autorise la communication simultanée dans les deux directions, ce qu’on appelle le full duplex.
La connexion entre deux modems Bell 103 ressemble à un rituel musical. L’appareil qui appelle entonne d’abord une note continue à 1270 Hz. Son correspondant lui répond par une tonalité à 2225 Hz. Cette « poignée de main » acoustique synchronise les deux machines et confirme qu’elles parlent le même langage. Une fois cette séquence accomplie, les données peuvent circuler librement.
Le Bell 103 affiche une simplicité déconcertante. Aucun mécanisme ne vérifie l’intégrité des données transmises. Les informations voyagent nues, sans protection contre les parasites ou les erreurs de transmission. Cette approche minimaliste reflète les contraintes techniques de cette période, mais aussi une certaine confiance dans la qualité du réseau téléphonique.
AT&T lance simultanément son service DATA-PHONE, qui ouvre aux entreprises les portes du réseau téléphonique public pour leurs ordinateurs. Les machines jusqu’alors prisonnières de leur salle climatisée découvrent soudain l’existence de leurs congénères. Les fichiers voyagent d’un site à l’autre, les bases de données sont accessibles à distance, le traitement distribué fait ses premiers pas.
La vitesse de 300 bits par seconde nous fait sourire aujourd’hui, mais elle révolutionne les pratiques de l’époque. Trente caractères transmis chaque seconde suffisent largement pour de nombreuses applications professionnelles. L’interface avec l’ordinateur respecte la norme RS-232, ce fameux port série à 9 broches qui équipe tous les systèmes informatiques. Cette standardisation accélère l’adoption du Bell 103 en garantissant sa compatibilité avec différentes marques d’ordinateurs.
Le succès du modem d’AT&T crée un standard de fait dans l’industrie des télécommunications. Ses fréquences de modulation et sa méthode de transmission font école. Les concurrents s’alignent sur ces spécifications pour en assurer l’interopérabilité. Cette convergence technique culmine en 1981 quand l’Union Internationale des Télécommunications officialise ces paramètres dans sa recommandation V.21, dix-huit ans après la naissance du Bell 103.
Cette longévité exceptionnelle s’explique par la robustesse de la solution technique retenue. La modulation par déplacement de fréquence, bien que rudimentaire, fonctionne aussi sur des lignes téléphoniques défaillantes. Elle tolère les distorsions, supporte les parasites et maintient la communication quand d’autres techniques plus sophistiquées échouent.
L’utilisation du Bell 103 exige parfois des manipulations pittoresques. Pour établir une connexion, l’opérateur compose le numéro de téléphone, attend la tonalité de réponse, puis pose délicatement le combiné sur un coupleur acoustique. Ce dispositif, qui ressemble à un berceau en plastique, assure la conversion entre les signaux sonores et électriques. Les versions ultérieures intègrent heureusement la numérotation automatique, rendant la procédure moins acrobatique.
Contre toute attente, le Bell 103 survit jusqu’aux années 1990, résistant vaillamment à l’arrivée de modems plus rapides. Cette persistance remarquable tient à différents facteurs. Sa simplicité technique en fait un équipement d’une fiabilité à toute épreuve. Quand la qualité de la ligne se dégrade, il continue de fonctionner là où ses successeurs abandonnent. Sa vitesse modeste est alors un atout, avec une solution de repli acceptable. Son omniprésence dans les entreprises crée un effet de réseau puissant.
Après le Bell 103, les fabricants de modems perfectionnent les techniques de modulation pour augmenter les débits. Ils ajoutent des protocoles de correction d’erreurs pour sécuriser les transmissions. La numérotation et la réponse automatiques simplifient l’usage quotidien. Ces améliorations successives conduisent aux modems haute vitesse des années 1990, capables d’atteindre 56 000 bits par seconde sur les mêmes lignes téléphoniques analogiques que leurs ancêtres.
Music V
Les années 1960 voient naître l’idée farfelue de faire chanter les ordinateurs. Dans les Bell Labs, Max Mathews observe les oscilloscopes qui tracent les courbes de la voix humaine et se dit qu’après tout, si la parole est convertible en nombres, pourquoi ne pourrait-on pas faire l’inverse ? En 1963, il publie dans Science un article qui va faire grincer des dents : « The Digital Computer as a Musical Instrument ». L’idée semble absurde. Les ordinateurs calculent, ils ne font pas de musique.
Pourtant, le principe que développe Mathews tient en quelques lignes. L’ordinateur génère une suite de nombres qui, transformés en impulsions électriques et lissés, produisent des sons. Rien de plus simple en théorie. En pratique, c’est une autre histoire. Pour obtenir quelque chose de correct, il faut au minimum 30 000 échantillons par seconde si l’on veut couvrir les fréquences audibles jusqu’à 15 000 Hz. Le hic, c’est que l’IBM 7090 des Bell Labs ne calcule que 5 000 nombres par seconde pour des sons un tant soit peu complexes. Mathews trouve alors la parade en stockant d’abord tout sur bande magnétique, puis en relisant le tout à la bonne vitesse. Cette solution de contournement marche parfaitement, mais ce n’est qu’un début, car la vraie nouveauté arrive avec MUSIC, et MUSIC V, un langage de programmation entièrement dédié à la création sonore.
La puissance de l’innovation tient dans la séparation entre la fabrication des instruments et leur utilisation. Mathews invente les « unit generators », petits blocs de programme qui font chacun une chose précise comme osciller, générer du bruit, additionner des signaux. En les combinant, on crée des « instrument units », véritables instruments virtuels. Cette modularité précède de plusieurs années les synthétiseurs de Moog et Buchla qui ne verront le jour qu’après 1964.
Le compositeur travaille donc en deux temps. Il construit d’abord ses instruments en assemblant ces générateurs comme on monte un circuit électronique. Après il écrit sa partition sous forme de listes de nombres : moment de début, durée, hauteur, amplitude... Chaque note est une ligne de chiffres. Cette approche numérique doit d’abord apprivoiser les musiciens, mais elle offre une précision inouïe sur chaque paramètre du son.
Jean-Claude Risset, qui rejoint l’équipe de Mathews aux Bell Labs entre 1964 et 1969, pousse le système dans ses retranchements. Il analyse des sons de trompette au microscope acoustique et découvre que leur timbre si reconnaissable provient de corrélations subtiles : plus la note est forte, plus elle contient d’harmoniques aiguës. Fort de cette observation, il programme des trompettes virtuelles qui reproduisent ce comportement. Le résultat bluff les auditeurs. Mais il ne s’arrête pas à l’imitation et explore les possibilités inédites qu’offre la synthèse numérique. Il crée des sons impossibles dans le monde physique, comme son fameux « glissando infini » qui semble monter éternellement tout en revenant sur lui-même, explorant ainsi les limites de la perception auditive grâce à l’ordinateur.
Les recherches menées avec MUSIC V transforment la compréhension du son. Elles montrent l’importance des transitoires d’attaque dans la reconnaissance des timbres, le rôle des micro-variations aléatoires dans la richesse perçue. L’ordinateur est un laboratoire d’acoustique où chaque paramètre est isolable, modifiable, et son effet sur la perception observable. Cependant, MUSIC V souffre de limitations rédhibitoires. Il est impossible de jouer en temps réel, il faut attendre que l’ordinateur termine ses calculs avant d’entendre le résultat. La programmation par listes de nombres rebute les musiciens habitués aux portées, et la qualité des sons dépend d’une compréhension fine de l’acoustique que peu possèdent. Ces obstacles n’empêchent pas certains compositeurs d’adopter l’outil entre 1964 et 1969, utilisant le catalogue de sons synthétisés publié par Jean-Claude Risset comme une référence. MUSIC V démontre qu’un ordinateur peut devenir un instrument de création artistique à part entière, et pas seulement une machine à calculer.
L’architecture modulaire de MUSIC V inspire directement les synthétiseurs analogiques et numériques. Sa séparation entre définition des instruments et contrôle musical annonce la norme MIDI des années 1980. Il établit des principes de programmation – modularité, abstraction, séparation des préoccupations – qui vont bien au-delà du domaine sonore.
MUSIC V transforme la conception de l’informatique en montrant que la machine est aussi un moyen d’expression plutôt qu’un simple automate. Cette intuition de Mathews trouve aujourd’hui son aboutissement dans chaque application audio moderne qui porte en elle un peu de l’ADN de MUSIC V, ce premier cri numérique poussé dans les couloirs feutrés des Bell Labs.
Sketchpad
En 1963, Ivan Sutherland travaille dans les laboratoires du MIT sur la problématique de l’interaction entre un humain et une machine autrement qu’en tapant des lignes de code sur un clavier. Sa réponse s’appelle Sketchpad, et elle va changer la donne. Pour la première fois, dessiner directement sur un écran d’ordinateur avec un crayon lumineux est possible.
L’idée relève de la science-fiction. Les ingénieurs qui veulent dessiner un circuit électrique ou un mécanisme doivent d’abord le décrire par écrit, ligne par ligne, instruction après instruction. Autant dire que concevoir la moindre forme géométrique est un calvaire. Ivan Sutherland comprend qu’il faut casser cette logique.
Il installe son système sur l’ordinateur TX-2 du Lincoln Laboratory, une machine équipée d’un écran cathodique de 9 pouces. L’arsenal se compose d’un crayon lumineux pour tracer et sélectionner, de boutons-poussoirs pour lancer les commandes, d’interrupteurs pour activer diverses fonctions. Quelques potentiomètres rotatifs permettent de faire pivoter ou d’agrandir ce qui s’affiche à l’écran. Mais la vraie magie opère ailleurs. Contrairement à un dessin classique figé sur le papier, un tracé Sketchpad garde en mémoire les liens entre ses différents éléments. Le système sait qu’une ligne reste parallèle à une autre, qu’un cercle demeure tangent à une droite, qu’un angle conserve sa mesure. Quand on déplace une partie du dessin, tout l’ensemble s’ajuste automatiquement pour respecter ces relations. Cette prouesse technique repose la structure de données en anneaux, une architecture logicielle audacieuse. Chaque trait, chaque courbe se transforme en bloc d’informations qui stocke sa forme, sa position et ses connections avec les autres élémentscomposant le dessin. Les éléments se parlent entre eux, se coordonnent, maintiennent leurs accords géométriques.
Ivan Sutherland pousse le concept plus loin avec ses master drawings. On dessine une fois un symbole, une résistance électrique ou un engrenage, et on peut ensuite le reproduire à volonté dans le dessin, chaque copie étant liée à son modèle original. Si on modifie la forme de base, toutes ses instances se transforment instantanément. Les dessinateurs industriels, habitués à redessiner sans cesse les mêmes composants, découvrent un gain de temps inouï.
Les applications se multiplient vite. Les concepteurs de circuits imprimés y trouvent leur compte pour dessiner des motifs répétitifs. Les mécaniciens simulent le fonctionnement d’articulations et de bielles. Les ingénieurs calculent la répartition des forces dans une structure comme un pont, et visualisent immédiatement les résultats. L’interface établit des règles qui traverseront les décennies. Le crayon lumineux fonctionne selon deux modes : il saisit des coordonnées quand on veut positionner un nouvel élément, et il désigne des objets existants quand on souhaite les modifier. Le système devine souvent les intentions de l’utilisateur grâce à sa « pseudo-position » : le curseur se verrouille automatiquement sur les points et lignes proches, facilitant la précision du tracé. Sketchpad transforme l’écran en planche à dessin intelligente.
Les limites de l’époque bridaient néanmoins certaines ambitions. Les calculs de contraintes ralentissaient parfois le système sur les dessins complexes. La résolution d’écran et les capacités de stockage imposaient leur loi. Mais dès 1963, Timothy Johnson étend Sketchpad vers la troisième dimension avec Sketchpad III. Lawrence Roberts s’appuie sur ces structures de données pour ses travaux de reconnaissance d’objets dans les photographies, initiant ainsi la vision par ordinateur.
Ivan Sutherland conçoit l’ordinateur non comme une calculatrice sophistiquée, mais comme un amplificateur d’intelligence humaine. Cette vision inspire tout le mouvement de l’informatique personnelle qui suivra. En montrant qu’une conversation naturelle entre l’homme et la machine passait par l’image autant que par le texte, Sketchpad a redessiné les contours de l’informatique. Soixante ans plus tard, nos écrans tactiles et nos logiciels de dessin portent encore la trace de cette intuition pionnière, mais aussi les intelligence artificielles génératives avec leur capacité de vision.
GECOS
Bull traverse une période mouvementée quand General Electric rachète l’entreprise en 1964. Cette acquisition déclenche la création de GECOS – General Electric Comprehensive Operating System – destiné à équiper le système GE-635. Le nom porte l’empreinte de ces bouleversements industriels qui caractérisent l’informatique de l’époque. Six années plus tard, Honeywell absorbe Bull General Electric et redessine une fois de plus les contours de l’entreprise.
Ces changements de propriétaire successifs ne relèvent pas du simple jeu financier. Ils sculptent directement l’évolution technique des systèmes d’exploitation et déterminent les orientations stratégiques futures. Quand CII et Honeywell Bull fusionnent en 1976, l’héritage se complexifie davantage. L’offre commerciale présente une particularité déroutante où trois systèmes d’exploitation distincts cohabitent sous la même bannière GCOS.
Cette tripartition reflète les origines géographiques et techniques éclatées du système. GCOS6 naît des laboratoires de recherche Honeywell à Boston, GCOS7 sort des bureaux d’études Bull parisiens, tandis que GCOS8 hérite des développements initiaux de General Electric à Phoenix. Trois villes, trois équipes, trois approches techniques qui donnent naissance à des systèmes portant le même nom mais incapables de communiquer entre eux.
L’incompatibilité mutuelle de ces trois lignes constitue un paradoxe commercial troublant. Malgré leur dénomination commune, aucune application ne peut migrer de l’une vers l’autre. Les seuls échanges possibles transitent par les télécommunications, comme si ces systèmes appartenaient à des univers technologiques distincts. Cette situation illustre parfaitement les difficultés d’intégration qui surgissent quand plusieurs héritages techniques se rencontrent brutalement.
L’architecture Bull des années 1980 est aussi composée de CTOS, système multipostes développé par Convergent Technology, qui rejoint la famille après que CIT Transac en ait acquis la technologie. DNS complète cet ensemble hétéroclite en gérant les couches basses des télécommunications : protocoles X21 et X25, Ethernet, transport et terminaux divers. Ce système s’exécute sur un frontal Datanet partagé entre GCOS7 et GCOS8, tout en s’intégrant directement sous GCOS6. Cette diversité traduit les dilemmes stratégiques de Bull face aux mutations du marché informatique. Dès 1982, Jacques Stern formule le constat lucide que Bull n’atteindra jamais la taille critique pour rivaliser mondialement avec ses seuls systèmes propriétaires, quelle que soit leur qualité technique. Cette prise de conscience déclenche une réflexion sur l’équilibre entre maintien de l’existant et préparation de l’avenir.
Les ingénieurs Bull imaginent alors des solutions techniques pour faciliter cette transition délicate. Un coprocesseur UNIX voit le jour pour GCOS7 et GCOS8, fonctionnant comme un frontal étroitement couplé au processeur propriétaire. Cette architecture hybride autorise l’ajout de fonctionnalités modernes aux applications héritées comme des bases de données relationnelles, des interfaces web ou des outils de développement contemporains. Pour GCOS6, l’approche diffère avec la création d’un émulateur sous AIX, le systèmes d’exploitation d’IBM, destiné à récupérer le code des applications métier ayant survécu au passage à l’an 2000. La maintenance de ces trois lignes distinctes s’organise selon une géographie héritée de l’histoire mouvementée de Bull. Boston continue de développer GCOS6, Paris s’occupe de GCOS7, Phoenix pilote l’évolution de GCOS8. Cette répartition internationale témoigne de la capacité de l’entreprise à préserver des centres d’expertise distincts malgré les turbulences économiques et les changements de propriétaire.
L’alliance avec IBM en 1992 découle d’une analyse réaliste : Bull ne peut plus suivre seul l’évolution effrénée du marché UNIX. L’adoption d’AIX s’accompagne d’apports techniques spécifiques de Bull, notamment dans les télécommunications et les architectures multiprocesseurs. Face à la domination américaine du secteur, cette coopération illustre une forme de spécialisation européenne. La Commission Européenne encourage d’ailleurs cette démarche en soutenant le développement d’une industrie informatique européenne forte. La création de la « Table ronde des 12 » réunit les principales entreprises du continent, Bull en tête, pour coordonner les efforts face aux géants américains. Cette initiative politique traduit la prise de conscience des enjeux stratégiques liés à l’indépendance technologique. En 2025, on voit que les résultats sont mitigés, et que les mêmes questions se posent.
La persistance de GCOS dans le paysage informatique contemporain surprend par sa longévité. Malgré les transformations répétées de Bull et l’évolution technologique accélérée, ces systèmes continuent de faire tourner des applications critiques dans de nombreuses organisations privées ou gouvernementales. Cette résilience s’explique par la qualité technique intrinsèque des systèmes, la fidélité des clients et la capacité de Bull à faire évoluer ses plateformes tout en préservant la compatibilité.
L’histoire de GCOS révèle les contradictions et les limites de l’industrie informatique européenne. Entre héritage technique et innovation, entre spécificités locales et standards internationaux, entre indépendance et coopération, Bull a navigué dans un environnement complexe en tentant de préserver sa singularité technologique. Cette expérience éclaire les enjeux contemporains de souveraineté numérique et de diversité technologique dans un monde informatique de plus en plus uniforme.
IBM System/360
En 1964, IBM mise 5 milliards de dollars sur une idée avant-gardiste, soit l’équivalent de 50 milliards de nos jours. Jamais une entreprise privée n’avait investi de telles sommes dans un projet technologique. À cette époque, IBM règne sur le monde des machines de calcul électromécaniques grâce à sa fameuse carte perforée à 80 colonnes. Mais l’entreprise traverse une crise paradoxale. Sa gamme comprend huit ordinateurs totalement incompatibles entre eux. Chaque migration vers un système plus puissant oblige les clients à racheter tous leurs périphériques et réécrire leurs programmes. Cette situation est intenable.
Thomas Watson Jr., qui préside IBM, confie cette épineuse question à Thomas Vincent Learson. Ce dernier désigne Bob O. Evans, responsable du développement des systèmes à Poughkeepsie. Evans arrive très vite à une conclusion radicale et courageuse : il faut abandonner tous les projets en cours et repartir de zéro. La décision suscite des débats houleux, notamment avec Frederick P. Brooks Jr., qui dirige le développement de la série 8000.
L’équipe d’Evans échafaude une vision audacieuse. Le code écrit pour le plus petit modèle de la famille doit tourner sans modification sur les processeurs les plus puissants. Les imprimantes, les dispositifs de communication et les unités de stockage doivent fonctionner avec n’importe quel ordinateur de la gamme. Cette compatibilité universelle exige de repenser entièrement l’informatique. Il faut créer des logiciels d’exploitation pour une famille de processeurs compatibles, concevoir des périphériques inédits, et développer une technologie de circuits intégrés baptisée Solid Logic Technology. IBM mobilise ses ressources mondiales. Des équipes d’ingénieurs travaillent simultanément sur six nouveaux processeurs et des dizaines de périphériques, en Amérique comme en Europe. Des centaines de programmeurs se lancent dans l’écriture de millions de lignes de code.
Le 7 avril 1964, IBM dévoile le System/360 avec une précision militaire. L’entreprise organise des conférences de presse dans 165 villes américaines et 14 pays. La présentation révèle six nouveaux processeurs et 44 périphériques. L’accueil dépasse toutes les espérances : plus de mille machines sont commandées en quatre semaines. Mais l’euphorie des commandes laisse place à deux années d’enfer. La production des modules SLT pose le premier problème. IBM construit une usine de plus de 9 200 mètres carrés à East Fishkill. La production s’envole de 500 000 modules en 1963 à 12 millions en 1964, puis 28 millions l’année suivante. Les défauts de qualité s’enchaînent, retardant les livraisons de deux à quatre mois. En 1966, l’usine fabrique 90 millions de modules, plus que tous les autres producteurs de semi-conducteurs réunis.
La logistique tourne au cauchemar. Les commandes affluent tandis que les retards s’accumulent dans la fabrication des composants et le développement des logiciels. La tension monte entre les équipes commerciales et les services de production. Un épisode cocasse illustre d’ailleurs cette période : l’entreprise manque de disjoncteurs en cuivre, paralysant temporairement toute la production.
Le développement logiciel représente le troisième écueil. Initialement budgété entre 30 et 40 millions de dollars, le coût final atteint 500 millions. L’équipe doit créer un système d’exploitation fonctionnant sur différents processeurs et périphériques, une prouesse jamais réalisée. Le code passe de 100 000 lignes pour l’IBM 1401 à plus d’un million pour le System/360.
En 1966, sept à huit mille systèmes équipent les entreprises, générant plus de 4 milliards de dollars de nouveaux revenus. IBM embauche 25 000 employés cette année-là et construit plus de 270 000 mètres carrés d’espaces de production supplémentaires. Entre 1964 et 1970, le chiffre d’affaires double, passant de 3,2 à 7,5 milliards de dollars.
Le System/360 standardise l’octet de 8 bits et introduit de nombreuses innovations en matière de stockage et de mémoire. Son architecture inspire immédiatement les concurrents. RCA lance la série Spectra 70, compatible avec le System/360. L’Union soviétique développe le Ryad, une copie presque conforme. Gene Amdahl, qui participe à la conception du système, fonde Amdahl Corporation pour produire des processeurs compatibles. Une industrie entière naît autour des périphériques compatibles avec des sociétés comme Telex, Memorex et Storage Technology.
La Bank of America, la NASA et d’autres grandes organisations choisissent le System/360 pour des applications allant du traitement des transactions bancaires aux calculs scientifiques. Grâce à son architecture unifiée, les entreprises comparent désormais prix et performances sur toute une gamme de produits, simplifiant leurs décisions d’achat et leur planification informatique.
En 1985, le président Ronald Reagan remet la National Medal of Technology à Erich Bloch, Fred Brooks et Bob Evans pour leur contribution au System/360. Cette reconnaissance officielle souligne l’importance historique du projet dans le développement de l’informatique moderne. Son architecture influence toutes les générations suivantes d’ordinateurs IBM, du System/370 au System/390, jusqu’aux serveurs IBM zSeries actuels. Les principes de compatibilité et de standardisation qu’il établit demeurent des piliers de l’industrie informatique contemporaine.
BASIC
En 1964, dans les couloirs du Dartmouth College, New Hampshire, John G. Kemeney et Thomas E. Kurtz achèvent le BASIC, acronyme de Beginners All-Purpose Symbolic Instruction Code. Cette création naît d’une frustration légitime face à l’état de l’informatique d’alors. Les ordinateurs géants et coûteux exigent des compétences que seuls quelques initiés possèdent. Pour programmer, il faut d’abord se rendre dans un centre de perforation où les instructions sont laborieusement traduites en cartes perforées, puis attendre son tour dans la file d’attente du centre de calcul. Une erreur dans le code et il faut tout recommencer.
Ancien collaborateur du projet Manhattan et assistant d’Albert Einstein, Kemeney avait rejoint Kurtz à Dartmouth en 1956. Leur première rencontre avait donné naissance à une collaboration qui allait durer des décennies. Avant le BASIC, ils avaient tenté de créer des langages simplifiés comme le Darsimco ou le DOPE, mais ces expérimentations n’avaient jamais vraiment décollé. L’idée qui les animait restait toujours de rendre l’informatique accessible au plus grand nombre.
Devenu directeur du centre de calcul Kiewit, Kurtz imagine un système de temps partagé novateur. Ce système nécessite un langage à la fois simple et puissant. Les deux hommes fixent des objectifs ambitieux pour un langage polyvalent, facile d’apprentissage, extensible, interactif, et surtout indépendant du matériel. En s’inspirant du FORTRAN et de l’ALGOL, ils conçoivent une structure qui privilégie les mots anglais courants. Les lignes de programme sont numérotées, une innovation qui simplifie grandement l’édition : pour supprimer une ligne, il suffit d’indiquer son numéro, et pour la modifier, on la réécrit avec son numéro.
Le 1er mai 1964, à quatre heures du matin, deux programmes BASIC s’exécutent simultanément sur le General Electric 225 de Dartmouth College. Cette date marque la naissance officielle du langage. Kemeney et Kurtz prennent alors une décision qui influencera toute l’histoire de l’informatique : ils renoncent à breveter leur invention. Cette générosité va transformer le BASIC en phénomène mondial.
General Electric, qui avait fourni l’ordinateur à Dartmouth, figure parmi les premiers utilisateurs du nouveau langage. Vers 1970, l’entreprise commercialise des machines équipées de la cinquième version de BASIC, sans attendre la version suivante en préparation. Cette précipitation marque le début de la fragmentation du langage. Kemeney et Kurtz publient leur BASIC the Sixth en 1971, mais d’autres développeurs créent déjà leurs propres dialectes.
Gordon Eubanks, le futur PDG de Symantec, développe en 1970 le BASIC-E, utilisant une approche novatrice dans laquelle les instructions sont d’abord transformées en code intermédiaire avant d’être converties en code machine. Cette technique annonce celle qu’utilisera Java des décennies plus tard avec le byte code. Contrairement à ses créateurs, Eubanks protège sa version suivante, le CBASIC, qu’il commercialise via sa société Compiler Systems.
La multiplication des versions de BASIC inquiète l’ANSI, qui reconnaît en 1974 la nécessité d’une standardisation. Un comité se forme pour définir deux normes : le BASIC minimal et le BASIC standard. Le processus s’étale sur des années, bien après que le langage ait conquis la planète. L’ANSI publie finalement ses spécifications en 1978 pour le BASIC minimal et en 1987 pour le BASIC standard. L’ISO reprend ces normes respectivement en 1984 et 1991.
L’année 1975 voit naître le TinyBASIC de Bob Albrecht et Dennis Allison, un prodige de miniaturisation qui fonctionne avec seulement 2 Ko de RAM. William H. Gates III et Paul Allen créent leur version pour le MITS Altair. Contraints par les limitations mémoire, ils choisissent un interpréteur plutôt qu’un compilateur. Cette solution, qui tient dans 4 Ko, présente l’avantage inattendu d’un débogage grandement facilité par l’interactivité qu’elle procure. Kemeney et Kurtz, d’abord sceptiques face à cette approche, finiront par reconnaître son rôle dans la diffusion de leur langage.
L’explosion des ordinateurs personnels à la fin des années 1970 transforme le paysage du BASIC. Chaque constructeur développe sa propre version : Radio Shack avec son Level 1 BASIC pour le TRS 80, Apple avec l’Integer BASIC de l’Apple II en 1977, Commodore avec le PET BASIC, Atari avec son BASIC en 1978. La liste s’allonge avec le Timex Sinclair 1000 BASIC, le TI-BASIC de Texas Instruments, le Commodore BASIC du VIC 20 et du C64.
Au début des années 1980, IBM bouleverse le marché en intégrant un BASIC interprété dans la ROM de son PC. Extensible par le chargement de BASICA, ce BASIC accompagne chaque disquette PC-DOS. Son équivalent MS-DOS, le GW-BASIC, domine très vite le marché des compatibles PC. Microsoft franchit une nouvelle étape en 1984 avec la commercialisation de BASCOM, son premier compilateur BASIC.
L’évolution s’accélère avec QuickBASIC en 1985, qui atteint sa version 4.5 en 1988. Le langage s’enrichit d’une syntaxe structurée, de sous-fonctions, de types de données personnalisables et de la gestion multi-fichiers. En 1990, le Microsoft BASIC Professional Development System 7.1 franchit la barrière symbolique des 64 Ko de mémoire.
L’arrivée de Windows transforme une nouvelle fois le BASIC avec Visual Basic, spécialement conçu pour les applications graphiques. Cette version, dont le caractère « orienté objet » fait débat parmi les programmeurs, remporte un succès phénoménal. À la fin des années 1990, les estimations suggèrent que 90% des logiciels Windows sont développés avec Visual Basic.
L’histoire du BASIC raconte finalement celle d’une démocratisation technologique. Ce langage né dans un laboratoire universitaire a accompagné la transformation de l’informatique, d’une science réservée aux experts vers un outil accessible à tous. Il a formé des générations entières de programmeurs.
PL/I
L’informatique du début des années 1960 ressemblait à un archipel de communautés étanches. D’un côté, les scientifiques exploitaient leurs IBM 7090, codaient en FORTRAN et se retrouvaient dans les réunions de SHARE – un groupe d’utilisateurs des mainframes IBM. De l’autre, le monde des affaires travaillait sur IBM 7080, jurait par COBOL et organisait ses propres cercles au sein de G.U.I.D.E – un autre groupe d’utilisateurs des ordinateurs IBM. Quelques machines spécialisées comme l’IBM 7750 disposaient de leurs langages dédiés, à l’image de JOVIAL (Jules’ Own Version of the International Algorithmic Language).
Cette partition géographique du territoire informatique commençait à montrer ses limites. Les chercheurs ne voulaient plus attendre des heures devant leur terminal pour récupérer une simple valeur numérique, ils réclamaient des rapports structurés, lisibles, dignes de leurs travaux. Leurs fichiers de données gonflaient et rivalisaient désormais avec les volumes manipulés par les entreprises. Côté commercial, les directions marketing découvraient les joies de l’analyse statistique et réclamaient des calculs en virgule flottante sur leurs données de vente. Les responsables informatiques se retrouvaient avec deux systèmes d’exploitation sur les bras, deux équipes de programmeurs qui ne parlaient pas le même langage, littéralement, et des budgets qui s’envolaient.
IBM avait déjà posé les bases d’une réponse avec le System/360 et OS/360, cette famille de machines et de systèmes d’exploitation pensée pour unifier les besoins de tous. Restait à créer un langage de programmation qui suivrait une philosophie identique. En octobre 1963, IBM et SHARE créent le comité Advanced Language Development. Sa mission était de définir un langage universel qui mettrait fin à cette tour de Babel informatique.
L’équipe rassemblée mélangeait les genres et les compétences. Hans Berg de Lockheed apportait son expertise en formation, Jim Cox d’Union Carbide maîtrisait FORTRAN sur le bout des doigts, Bruce Rosenblatt de Standard Oil dirigeait les débats. Du côté IBM, C. W. Medlock était l’homme des compilateurs FORTRAN optimisés, Bernice Weitzenhoffer naviguait entre FORTRAN et COBOL avec aisance, George Radin pilotait le projet fort de son expérience en programmation scientifique. Les réunions s’enchaînaient tous les quinze jours, trois ou quatre jours d’affilée, principalement entre New York et Los Angeles. Les membres extérieurs à IBM gardaient leurs postes à temps plein, ce nouveau langage restant pour eux une mission annexe. Prévu pour décembre 1963, le gel des spécifications glissa finalement à février 1964. Les délais étaient tendus.
L’idée d’étendre FORTRAN fut abandonnée. Sa syntaxe ne collait pas aux terminaux modernes, ses déclarations organisées par type plutôt que par identificateur heurtaient les habitudes, son stockage des tableaux par colonne déroutait les programmeurs d’applications commerciales. Les extensions nécessaires auraient tellement transformé FORTRAN que maintenir une quelconque compatibilité perdait son sens.
Le langage s’appela d’abord NPL – New Programming Language – dans la grande tradition des acronymes descriptifs. En 1965, un conflit avec le National Physical Laboratory britannique obligea IBM à le rebaptiser PL/I (parfois écrit PL/1). La première présentation officielle eut lieu en mars 1964 à San Francisco, devant l’assemblée de SHARE. Les réactions furent partagées. Certains saluèrent son exhaustivité et son attention portée aux programmeurs de tous niveaux. D’autres pointèrent sa complexité et ses redondances. Un membre de SHARE le compara à « un couteau suisse à cent lames », une métaphore qui en disait long sur les ambitions du projet.
Le développement des compilateurs atterrit dans les laboratoires IBM de Hursley, en Angleterre. L’équipe de John Fairclough se chargea de stabiliser le langage et de le rendre utilisable en pratique. Sans les programmeurs de Hursley, PL/I serait resté une belle théorie. Ils construisirent ses compilateurs, participèrent à sa standardisation et transformèrent une spécification ambitieuse en outil de travail quotidien.
PL/I bouscula les conventions établies. Il introduisit les tâches asynchrones, définit des conditions ON pour spécifier des blocs de code à exécuter lors d’événements particuliers, autorisa les procédures récursives avec stockage statique et automatique. Sa palette de types de données impressionnait : arithmétiques ou chaînes de caractères, décimaux ou binaires, fixes ou flottants, réels ou complexes. Les tableaux acceptaient une dimension arbitraire avec des bornes choisies librement. Les entrées-sorties reçurent un soin particulier, elles représentaient plus de 10% de la définition du langage. PL/I mariait les capacités de formatage de FORTRAN avec certaines fonctionnalités COBOL pour le traitement des enregistrements, tout en exploitant les nouvelles possibilités d’OS/360 comme les entrées-sorties asynchrones.
L’une des particularités les plus controversées de PL/I résidait dans sa gestion des déclarations. Le langage n’exigeait pas que tous les attributs soient explicitement déclarés. En cas d’oubli, des types implicites étaient assignés selon l’usage des variables dans le programme. Les attributs manquants recevaient des valeurs par défaut dépendant de ceux explicitement mentionnés. Cette flexibilité répondait aux contraintes de l’époque où chaque soumission de programme impliquait attente et délais.
L’évolution de PL/I témoigne d’un effort constant de formalisation. Les premiers documents de 1964 laissaient de nombreuses zones d’ombre et ambiguïtés. Ray Larner et John Nicholls développèrent une première définition sémantique formelle baptisée Universal Language Definition II. Le laboratoire de Vienne prit ensuite le relais avec une définition encore plus rigoureuse. PL/I rejoignit ainsi le cercle fermé des langages les mieux définis de son temps.
Le succès fut au rendez-vous. Dans les années 1970, IBM vendait plus de licences de compilateurs PL/I que de FORTRAN pour les System/370. COBOL gardait certes la première place pour les applications commerciales, mais PL/I avait trouvé sa place. Le langage et ses variantes servirent à programmer des systèmes d’exploitation entiers comme MULTICS et OS/VS2 Release 2, ainsi que de nombreux compilateurs. Des sous-ensembles pédagogiques facilitèrent son enseignement dans les universités.
PL/I privilégiait l’efficacité du code objet et la commodité d’usage plutôt que l’élégance théorique. Son développement s’appuyait sur l’expérience concrète des programmeurs plutôt que sur des considérations mathématiques abstraites. Cette philosophie tranche avec les préoccupations actuelles comme l’extensibilité ou la vérification formelle des programmes.
IBM CP-40
L’histoire des machines virtuelles commence dans les laboratoires du MIT, où Fernando Corbató et son équipe travaillent sur le Compatible Time-Sharing System. Ce système modifie l’usage des ordinateurs en introduisant le partage temporel, mais sa mise en œuvre nécessite des modifications matérielles délicates. IBM, fournisseur des machines du MIT, maintient sur place un bureau de liaison pour accompagner ces adaptations techniques.
L’année 1964, IBM dévoile sa nouvelle gamme System/360, censée unifier l’informatique d’entreprise. Pourtant, les clients du MIT découvrent avec amertume l’absence de capacités de translation d’adresses dans ces nouvelles machines. Cette fonction leur paraît indispensable pour développer leurs systèmes de partage temporel. Face à cette déception, IBM réagit en créant le Cambridge Scientific Center sous la houlette de Norm Rasmussen. L’objectif était de rattraper le retard en matière de partage temporel.
Robert Creasy, ancien du projet CTSS, prend la tête du nouveau projet CP-40. Avec Les Comeau, il imagine à la fin de 1964 une approche radicalement différente : simuler plusieurs machines System/360 indépendantes sur un seul ordinateur physique. Cette idée séduit par sa simplicité conceptuelle. Chaque utilisateur dispose de sa propre machine virtuelle, totalement isolée des autres. Fini les risques d’interférence entre programmes.
La réalisation de ce concept exige des prouesses techniques. L’équipe du CSC modifie un IBM System/360 modèle 40 en lui greffant un dispositif baptisé Cambridge Address Translator. Bruce Lindquist et Rex Seeber conçoivent ce mécanisme autour d’une mémoire associative de 64 mots. Le défi consiste à traduire les adresses sans ralentir l’exécution des programmes. Pari tenu : la translation s’effectue sans perte de performances notable.
L’architecture du système CP-40 repose sur une séparation nette entre deux composants. D’un côté, le Control Program gère la création et l’administration des machines virtuelles. De l’autre, le Cambridge Monitor System fournit un environnement d’exploitation simple pour ces machines virtuelles. Cette division du travail constitue une innovation architecturale remarquable. John Harmon dirige le développement de CMS avec son équipe comprenant Lyndalee Korn et Ron Brennan. Ils s’inspirent largement de l’interface de CTSS pour créer un système convivial. Paradoxalement, CMS est mono-utilisateur et toute la complexité du partage des ressources incombe au Control Program.
Janvier 1967 voit la mise en production de CP-40 et CMS. Le système démontre immédiatement sa capacité à faire tourner OS/360 dans une machine virtuelle. Cette compatibilité ascendante se révélera décisive pour l’adoption future de la technologie. L’équipe découvre aussi les écueils de la mémoire virtuelle. Le phénomène de thrashing les surprend : quand la pagination est excessive, les performances s’effondrent brutalement.
Le succès de CP-40 ouvre la voie à CP-67, adapté au System/360 modèle 67 qui intègre nativement la translation d’adresses. Dick Bayles, Dick Meyer et Harit Nanavati mènent cette évolution. CP-67 apporte des améliorations substantielles comme la gestion dynamique de la mémoire et la flexibilité dans la configuration des machines virtuelles.
Mai 1968 marque la première distribution de CP-67 vers huit sites pilotes. En juin, le système est disponible comme programme de Type III, statut réservé aux contributions d’employés IBM. Le succès dépasse toutes les attentes. D’anciens employés créent deux entreprises commerciales qui vendent des services de partage temporel basés sur la plateforme CP/CMS : National CSS et Interactive Data Corporation.
La polyvalence du concept de machine virtuelle séduit différentes communautés. Les développeurs de systèmes d’exploitation y trouvent un environnement de test sécurisé. Les utilisateurs finaux apprécient la coexistence de systèmes d’exploitation différents sur une même machine. Les centres informatiques exploitent cette capacité pour faciliter leurs migrations technologiques.
Août 1972 voit naître VM/370 dans le cadre des Advanced Functions du System/370. L’équipe de Burlington, enrichie de Dick Newson, Carl Young et Dave Tuttle, pousse plus loin l’innovation. VM/370 introduit la capacité d’exécuter VM sous lui-même, simplification considérable pour le développement et les tests.
La séparation entre gestion matérielle et services système structure encore nos hyperviseurs contemporains. L’interface matérielle comme frontière d’isolation est un paradigme central. Cette simulation transparente des ressources matérielles s’épanouit aujourd’hui dans le cloud computing.
Courrier électronique
Il y a soixante ans, le monde professionnel vivait au rythme du papier. Les cadres dictaient leurs lettres à leurs secrétaires, qui maîtrisaient l’art délicat de la sténographie avant de transcrire sur machine à écrire, avec ce bruit caractéristique des touches qui frappaient le ruban encreur. Chaque message suivait le protocole rigoureux de l’en-tête officiel, des formules de politesse codifiées, et des copies carbone pour les archives. Le courrier partait ensuite dans les méandres du système postal.
Dès 1965, au MIT, Tom Van Vleck et Noel Morris bricolent quelque chose d’inédit. Sur l’ordinateur à temps partagé de leur laboratoire, ils créent une commande baptisée mail qui autorise les utilisateurs à s’envoyer des messages stockés dans des boîtes aux lettres virtuelles. L’idée paraît anodine, mais elle bouleverse déjà les habitudes : plus besoin de se déplacer physiquement pour transmettre une information, plus d’attente, plus de papier qui traîne.
Ray Tomlinson accomplit six ans plus tard le geste qui va changer l’histoire de la communication humaine. Cet ingénieur de Bolt Beranek and Newman travaille sur ARPANET quand il décide d’adapter le programme sndmsg pour faire communiquer des ordinateurs distants. Il lui faut un moyen de distinguer l’utilisateur de sa machine, et c’est presque par hasard qu’il choisit le symbole @ sur son clavier. Cette arobase, qui servait aux comptables pour noter « tant d’unités à tel prix », fait le pont entre l’identité numérique et l’adresse physique de l’ordinateur. Premier message envoyé : « QWERTYUIOP » ou quelque chose d’approchant. Tomlinson en a oublié le contenu exact, ce qui montre qu’il ne mesurait pas l’ampleur de son invention.
L’effet de contagion est immédiat sur ARPANET. Les chercheurs et ingénieurs découvrent qu’ils peuvent échanger sans contrainte horaire ni géographique, et instantanément. Fini les appels téléphoniques interrompus, terminées les lettres qui mettent une semaine à parcourir le pays. Larry Roberts, qui dirige le bureau IPTO de l’ARPA, comprend vite l’intérêt de cette technologie. En 1972, il développe rd, un programme qui range et classe les messages reçus. Barry Wessler l’améliore avec nrd, et John Vittal franchit un cap décisif en 1974 avec MSG, qui introduit les fonctions « répondre » et « transférer ». Le courrier électronique cesse d’être un simple système de transmission pour devenir un véritable outil de conversation.
La technique suit l’usage. Les premiers formats de message ressemblent à du bricolage, chaque système ayant ses propres conventions. La RFC 561 de 1973 tente de mettre de l’ordre en définissant les champs From:, Subject: et Date:. Ce travail de normalisation se poursuit laborieusement jusqu’à la RFC 822 de 1982, qui définit les bases du format encore utilisé aujourd’hui.
Jon Postel, figure légendaire d’Internet, s’attaque au problème du transport des messages. Les premiers systèmes utilisent FTP, mais ce protocole s’avère inadapté au volume croissant d’échanges. Il conçoit Simple Mail Transfer Protocol en 1982, un protocole d’une élégante simplicité qui va traverser les décennies sans prendre une ride. Cette longévité exceptionnelle dans l’univers informatique témoigne de la qualité de sa conception.
Les années 1980 voient proliférer une mosaïque de réseaux incompatibles. UUCP relie les machines UNIX, CSnet dessert les universités, Bitnet connecte les centres de calcul. Chaque réseau a ses règles d’adressage, ses conventions et ses limites. Les administrateurs système jonglent avec des adresses abracadabrantes du type ihnp4!ucbvax!user@host, véritables plans de route informatiques qui spécifient le chemin exact du message. Cette complexité disparaît avec l’arrivée du système de noms de domaine en 1984 et des enregistrements MX deux ans plus tard. L’adresse user@domain.com s’impose alors comme le standard universel.
En 1981, Eric Allman développe sendmail, et Dave Crocker crée MMDF en 1982. Ces logiciels sophistiqués gèrent l’acheminement des messages entre systèmes hétérogènes, mais butent sur une limitation : le courrier électronique ne sait transporter que du texte ASCII. Impossible d’envoyer une photo, un document formaté ou une présentation. Les utilisateurs contournent le problème en encodant les fichiers binaires, mais la manipulation est délicate. La norme MIME de 1992 libère enfin le courrier électronique de ces chaînes en autorisant les contenus multimédias. Cette évolution transforme la messagerie en véritable plateforme d’échange professionnel.
De quelques centaines d’utilisateurs pionniers sur ARPANET, le courrier électronique rassemble aujourd’hui plus de 4,37 milliards de personnes. Cette adoption massive s’explique par des choix techniques remarquablement judicieux : protocoles simples et robustes, standards ouverts et architecture décentralisée. Le système s’est adapté à l’évolution des usages sans jamais rompre sa compatibilité fondamentale. L’émergence des messageries instantanées et des réseaux sociaux n’a pas réussi à détrôner complètement cette vieille dame de soixante ans, qui continue de faire transiter chaque jour plus de 350 milliards de messages à travers la planète en 2024.
Multics
En 1962, Joseph Carl Robnett Licklider, qui dirige alors la DARPA, lance l’idée du système d’exploitation Multics. Le contrat tombe en août 1964. Multics prolonge les travaux du Compatible Time-Sharing System, développé au MIT sous Fernando Corbató. Les ordinateurs fonctionnent encore comme des machines à traitement par lots, les programmes s’exécutant les uns après les autres, et les utilisateurs attendant parfois des jours entiers leurs résultats. Les premiers systèmes à temps partagé peinent à gérer plus de quelques programmes simultanément, contraints de décharger sur bande magnétique ceux qui ne s’exécutent pas.
Le projet réunit une alliance inhabituelle constituée du MIT pour la recherche, de General Electric pour le matériel, et des Bell Labs pour le développement logiciel. GE décroche le contrat après qu’IBM ait boudé les concepts de pagination et de segmentation proposés. Cette convergence de talents universitaires et industriels rassemble quelques-uns des plus grands esprits de l’informatique de cette période.
L’ambition technique dépasse tout ce qui a été tenté jusque-là. Multics intègre mémoire virtuelle, protection par segmentation, système de fichiers hiérarchique, multitraitement à mémoire partagée, sécurité et reconfiguration en ligne. Le système compte parmi les premiers à être développé principalement dans un langage de haut niveau et à supporter plusieurs langages de programmation. MacLisp et troff trouvent leurs origines dans Multics, ainsi qu’une large part de la ligne de commande UNIX moderne.
La concrétisation se révèle ardue. Le matériel GE 645 arrive en retard, et Multics n’atteint l’auto-hébergement qu’en 1968. En 1969, la DARPA menace d’arrêter les frais, poussant les Bell Labs vers la sortie. Ce retrait donnera naissance à UNIX, créé par d’anciens de Multics : Kenneth Lane Thompson, Dennis MacAlistair Ritchie, Douglas McIlroy et Joseph Francis Ossana.
Honeywell, qui a racheté l’activité informatique de General Electric en 1970, commercialise Multics de 1973 jusqu’en 1985 au prix initial de 7 millions de dollars. La clientèle se compose de l’US Air Force, d’universités comme celle du Sud-Ouest de la Louisiane et le système universitaire français, de grandes entreprises comme General Motors et Ford. Au total, environ 80 licences trouvent preneur. Le dernier système Multics, exploité par le ministère canadien de la Défense nationale, s’est éteint en 2000.
L’architecture système repose sur deux piliers : les processus et les segments. Les processus fournissent les contextes d’exécution, tandis que les segments stockent code, données et périphériques d’entrée-sortie. Ces segments s’organisent dans une hiérarchie de répertoires, ancêtres des systèmes de fichiers actuels. Le domaine de protection d’un processus délimite les segments accessibles et les opérations autorisées.
Concernant la sécurité, Multics introduit les anneaux de protection, structure hiérarchique allant de l’anneau 0, le plus privilégié, aux anneaux supérieurs moins puissants. Le GE 645 prévoit 64 anneaux, mais seuls 8 sont réellement mis en œuvre. Le superviseur Multics, confiné aux anneaux 0 et 1, ne peut être modifié que par du code s’exécutant dans ces anneaux privilégiés. Cette approche influence encore les processeurs modernes, qui utilisent généralement deux niveaux : superviseur (kernel) et utilisateur.
En 1974, Paul Karger et Roger Schell de l’US Air Force mènent une analyse de vulnérabilité qui révèle plusieurs failles. Une vulnérabilité matérielle contourne les vérifications d’accès dans certains cas d’adressage indirect. Des failles logicielles apparaissent, notamment liées au mode maître d’exécution dans les anneaux utilisateur, modification introduite pour améliorer les performances. Ces découvertes illustrent la difficulté de maintenir la sécurité d’un système complexe face aux pressions d’optimisation.
Plusieurs facteurs expliquent l’échec commercial relatif de Multics. Les circuits intégrés évoluent à un rythme exponentiel, transformant le paysage informatique. Quand Multics arrive sur le marché en 1973, il répond parfaitement aux problèmes de 1964, mais le monde a changé. Le système coûte trop cher, dépend trop d’une architecture propriétaire, et est trop centré sur l’informatique partagée centralisée alors que l’informatique départementale décentralisée prend son envol. En parallèle, Digital Equipment Corporation commercialise des versions d’entrée de gamme du PDP-11, et le microprocesseur 8080 fait tourner les premières versions de CP/M dès 1974.
DEC PDP-8
En 1965, Digital Equipment Corporation surprend le monde informatique en présentant le PDP-8, un ordinateur qui tient dans la moitié d’une armoire. L’époque des monstres d’acier occupant des salles entières semble révolue. Cette machine inaugure l’ère des mini-ordinateurs et transforme radicalement notre vision de ce qu’un système informatique doit être.
L’histoire débute trois ans plus tôt avec le PDP-5. DEC y expérimente le bus d’entrée-sortie, un concept novateur. Fini les connexions radiales complexes qui imposent de prévoir à l’avance chaque équipement et son câblage vers un point central. Le bus autorise l’ajout progressif de périphériques, une souplesse inédite. Mais le PDP-5 est une ébauche et les ingénieurs de DEC voient plus loin.
Le PDP-8 naît de cette ambition. Les technologies logiques évoluent et promettent des gains de vitesse spectaculaires. Les mémoires à tores de ferrite améliorent les performances du stockage en faisant chuter le temps de cycle de 6 à 1,6 microseconde. Rendu possible par la baisse du coût des composants logiques, le compteur ordinal, jusqu’alors stocké en mémoire, migre vers le matériel, réduisant drastiquement les temps d’exécution.
L’architecture du PDP-8 se distingue par sa simplicité. Cet ordinateur 12 bits à adresse unique ne cherche pas la complexité pour impressionner. Il assume ses limites de calculs arithmétiques réduits et de mémoire primaire modeste. Ces contraintes sont ses forces dans certains domaines, notamment le contrôle de processus industriels et les applications de laboratoire qui trouvent en lui un partenaire idéal. Contrôler un analyseur de hauteur d’impulsion ou un analyseur de spectre ne demande pas la puissance d’un géant, la précision et la fiabilité suffisent.
Le marché répond avec enthousiasme. Environ 50 000 unités se vendent jusqu’en 1979, sans compter les versions CMOS qui suivront. Pour un ordinateur non produit par IBM, ce chiffre relève du miracle. La taille du PDP-8 explique en partie ce succès. Posé sur un banc de laboratoire ou intégré dans un équipement plus large, il s’adapte aux contraintes d’espace. Cette flexibilité donne d’ailleurs naissance au marché OEM, où les constructeurs achètent des ordinateurs pour les incorporer dans leurs systèmes.
L’évolution du PDP-8 raconte l’histoire des technologies qui se succèdent. En 1966, le PDP-8/S tente de conquérir le bas de gamme avec une architecture sérielle où les données sont traitées bit par bit de manière séquentielle. L’économie réalisée se paie cher car les performances s’effondrent et les ventes déçoivent. DEC retient la leçon. En 1968, le PDP-8/I exploite les circuits intégrés de moyenne échelle pour surpasser le modèle original tout en coûtant un tiers de moins. Le PDP-8/L, lui, vise les clients qui se contentent de configurations simples. Vient ensuite le PDP-8/E et son architecture Omnibus. Ce bus unifié de 144 broches révolutionne la modularité. Le processeur, qui occupait 100 cartes dans le PDP-5, se contente désormais de trois cartes de 8 × 10 pouces. La miniaturisation s’accélère et redéfinit les possibilités. Le PDP-8/M compacte encore le concept pour séduire les installations exiguës. En 1975, le PDP-8/A tire parti des cartes hexagonales et des mémoires à semi-conducteurs. Son processeur microprogrammé tient sur une seule carte, un exploit technique remarquable.
L’apothéose survient en 1976 quand Intersil grave le premier processeur PDP-8 sur une puce unique, en technologie CMOS. Cette prouesse s’accompagne d’une consommation électrique dérisoire. Cette miniaturisation autorise des systèmes d’une compacité impensable quelques années plus tôt, comme le terminal vidéo VT78.
Le bus d’entrée-sortie du PDP-8 s’impose comme référence et sa simplicité architecturale inspire des générations d’ingénieurs. Cette machine prouve qu’un ordinateur peut concilier simplicité, puissance et économie. Elle ouvre un marché nouveau entre les systèmes coûteux et les calculateurs spécialisés.
CDC 6600
En 1957, William C. Norris quitte son poste chez Sperry Rand avec une poignée de collègues pour s’installer dans un entrepôt désaffecté de Minneapolis. Leur projet est de fonder Control Data Corporation pour bâtir les ordinateurs les plus rapides au monde. Cette ambition démesurée prend forme quand Seymour Cray rejoint l’équipe en 1958. Six ans plus tard, leur CDC 6600 bouleverse l’informatique en devenant le premier véritable superordinateur.
IBM règne sur le marché avec son 7094, machine de référence face au 1604 de CDC. Ces ordinateurs représentent le summum de la puissance disponible, mais leurs architectures héritées du passé bridaient toute évolution majeure. Maintenir la compatibilité avec l’existant impose des compromis techniques qui limitent les gains de performance. Les transistors atteignent leurs limites physiques et ne suffisent plus à propulser seuls les machines vers de nouveaux sommets.
Seymour Cray et son équipe comprennent qu’une rupture s’impose. James Thornton, l’un des ingénieurs, assiste à un séminaire à UCLA sur les machines haute performance où une évidence s’impose : toutes exploitent une forme de parallélisme. L’équipe découvre qu’un quart du temps de calcul se perd dans la transmission des signaux entre portes logiques. Cette observation va forger leur approche avec l’arrivée des transistors silicium de Fairchild Semiconductor. Ces nouveaux composants autorisent une densité inédite et raccourcissent les chemins critiques. Les cartes de circuits peuvent désormais se monter dos à dos, tous les composants logés à l’intérieur. Cette organisation résout d’un coup les problèmes de refroidissement que pose la concentration accrue des circuits.
Le CDC 6600 brise les codes avec ses dix unités fonctionnelles spécialisées travaillant en parallèle sous la coordination d’une unité de contrôle centrale. Avec cette architecture, les différentes parties d’un programme s’exécutent simultanément, un exploit technique sans précédent. Le processeur central se concentre sur les calculs scientifiques tandis que dix processeurs périphériques gèrent les entrées-sorties et les tâches système.
L’approche anticipe remarquablement les futurs processeurs RISC. La mémoire s’organise en pages protégées par un système avancé. Un scoreboard matériel sophistiqué gère les dépendances entre instructions et optimise leur exécution parallèle. Ces innovations propulsent la machine vers un million d’instructions par seconde, performance jamais atteinte.
IBM réagit à l’annonce du 6600 en promettant son propre superordinateur. Cette contre-attaque freine temporairement les commandes, les clients préférant attendre la riposte du géant. Problème : la machine d’IBM n’existe que sur le papier. CDC dépose une plainte antitrust et lance dans la foulée son 7600, défiant ouvertement IBM qui cette fois maitient son silence. Le 7600 est l’un des ordinateurs les plus performants jamais construits. Cinq ans plus tard, CDC remporte son procès.
Les laboratoires scientifiques, universités et centres de recherche militaire adoptent massivement le CDC 6600. Sa puissance inégalée fait progresser la météorologie, la physique nucléaire et la conception aérodynamique. SCOPE, le système d’exploitation développé spécifiquement pour la machine, apporte des fonctionnalités avancées de gestion des ressources et de multiprogrammation. Sa conception modulaire, son usage novateur du parallélisme et sa gestion sophistiquée des ressources inspirent les développements futurs. Les processeurs modernes reprennent ses principes dans la gestion du parallélisme d’instructions et l’organisation des unités fonctionnelles spécialisées. Control Data s’impose comme leader du calcul scientifique et développe la série CYBER dans la continuité du 6600.
En 1972, Seymour Cray quitte CDC pour fonder Cray Research. L’entreprise investit 300 000 dollars dans cette nouvelle société, maintenant des liens étroits avec son ancien architecte. L’émergence des microprocesseurs et mini-superordinateurs dans les années 1980 érode progressivement la position dominante de CDC. La concurrence de DEC, IBM et Cray Research s’intensifie. CDC accumule les pertes, poussant William Norris vers la sortie en 1986. Malgré plusieurs restructurations, l’entreprise scinde ses activités informatiques en 1992, marquant la fin d’une époque.
Le CDC 6600 demeure une innovation technique majeure qui établit les fondements de l’informatique haute performance. Sa conception élégante démontre qu’une architecture soigneusement pensée dépasse les limites apparentes des composants. Cette machine ouvre l’ère des superordinateurs et fixe des standards de performance qui orientent durablement l’évolution du calcul scientifique.
ELIZA
En 1966, Joseph Weizenbaum publie un article dans les « Communications of the ACM ». Il y décrit ELIZA, un programme capable de converser en langage naturel avec un être humain. Au MIT où travaille le chercheur, cette réalisation fait sensation dans les cercles de l’intelligence artificielle.
Le nom choisi pour ce programme n’est pas le fruit du hasard. Eliza Doolittle, l’héroïne de Pygmalion de George Bernard Shaw, incarne cette transformation d’une simple vendeuse de fleurs en dame distinguée grâce aux leçons du professeur Higgins. Joseph Weizenbaum voit dans cette métaphore une machine qui apprend à « parler » sous la supervision d’un enseignant tout en gardant ses limites, une illustration parfaite de son programme.
Sur le système de temps partagé MAC du MIT, ELIZA tourne grâce au langage MAD-SLIP sur un IBM 7094. Les utilisateurs se connectent depuis des terminaux distants et entament ce qui ressemble à une véritable conversation. Ils tapent leurs phrases, le programme répond. L’illusion fonctionne. Pourtant, les mécanismes qui animent ELIZA sont d’une simplicité déconcertante. Le programme scrute chaque phrase à la recherche de mots-clés. Une fois un terme identifié, il applique des règles de transformation prédéfinies. Si aucun mot-clé n’est détecté, il puise dans un répertoire de réponses génériques ou réutilise une transformation antérieure.
Cette approche révèle toute sa subtilité dans la hiérarchisation des mots-clés. Lorsqu’une phrase contient « je » et « tout le monde », le programme privilégie ce dernier terme, parce que les généralisations abusives méritent souvent qu’on s’y attarde. Les règles de transformation découpent les phrases selon des schémas préétablis pour les reconstituer en réponses cohérentes.
L’architecture modulaire d’ELIZA constitue sa véritable innovation. Les règles conversationnelles vivent dans des scripts séparés du cœur du programme. Cette conception autorise des modifications comportementales sans toucher au code source. Des scripts voient ainsi le jour en allemand et en gallois, preuve de la flexibilité du système.
Le script qui va rendre ELIZA célèbre simule un psychothérapeute rogerien. Carl Rogers a développé une thérapie centrée sur la personne où le thérapeute reformule les propos du patient sans prétendre tout comprendre. Cette approche épouse parfaitement les capacités limitées du programme de Joseph Weizenbaum. Face à « Je suis triste », ELIZA répond « Je suis désolé d’entendre que vous êtes triste » ou « Pouvez-vous m’expliquer ce qui vous rend triste ? ». Le programme maintient l’illusion par la reformulation, les questions ouvertes, les demandes de précision.
Joseph Weizenbaum n’anticipe pas l’impact de sa création. Les utilisateurs attribuent à ELIZA une compréhension véritable. Certains réclament des sessions privées avec le programme. Cette réaction trouble le chercheur, qui réalise que les humains projettent leurs propres interprétations sur les réponses mécaniques de la machine. Ils construisent eux-mêmes le sens de l’échange. Cette anthropomorphisation spontanée résonne encore dans nos rapports aux assistants vocaux et autres chatbots. ELIZA a révélé comment des mécanismes élémentaires génèrent l’illusion d’intelligence, soulevant des interrogations durables sur la nature de la compréhension.
Les faiblesses techniques du programme sautent aux yeux : aucune mémoire des échanges passés, aucun modèle de l’interlocuteur, aucune connaissance du monde réel. Les réponses naissent de transformations syntaxiques aveugles au sens. Mais ces limitations n’effacent pas l’importance historique d’ELIZA qui établit les fondements du traitement automatique du langage : reconnaissance de mots-clés, identification de contextes minimaux, sélection de transformations adaptées, génération de réponses par défaut.
Au-delà de la technique, ELIZA cristallise notre réflexion sur l’intelligence artificielle. Joseph Weizenbaum observe ce paradoxe où les mécanismes ayant été expliqués, la « magie » s’évapore et le programme se révèle comme une collection de procédures triviales. L’effet sur les utilisateurs perdure pourtant. ELIZA nous enseigne que la perception d’intelligence dans nos échanges avec les machines dépend autant de nos projections que des capacités réelles des systèmes.
Les questions que soulève le programme de Joseph Weizenbaum sur la nature de la compréhension, les frontières de la simulation et les enjeux éthiques de l’intelligence artificielle n’ont rien perdu de leur acuité. ELIZA demeure ce moment fondateur où l’informatique a commencé à explorer les territoires ambigus entre le traitement mécanique du langage et la véritable intelligence.
Information Management System
En 1966, dans les bureaux d’études de la division spatiale de Rockwell, les ingénieurs du programme Apollo jonglent avec des milliers de dessins techniques, chaque modification d’une pièce déclenchant une cascade de vérifications sur l’ensemble de la capsule spatiale. L’erreur n’a pas sa place quand il s’agit d’envoyer des hommes sur la Lune.
Uri Berman, consultant IBM détaché chez Rockwell, observe ce chaos organisé. Avec Pete Nordyke, ils imaginent une solution audacieuse qui sépare complètement la gestion des données du code des applications. Leur prototype, qu’ils baptisent DATE (Disk Applications in a Teleprocessing Environment), transforme radicalement la manière dont les ingénieurs accèdent aux informations techniques. Fini les allers-retours incessants vers les archives papier, un terminal connecté à un IBM 7010 suffit désormais pour consulter l’état d’un dessin et ses modifications en cours. Cette séparation entre données et traitement constitue la base de Data Language/One (DL/I), une interface qui libère les programmeurs des contraintes physiques de stockage sur disque. L’idée fait son chemin qu’une application ne devrait pas réinventer la roue de la gestion des fichiers. DL/I standardise ces opérations, améliore l’intégrité des données et simplifie la maintenance des programmes.
Le projet prend une nouvelle ampleur en 1966 avec l’arrivée des ordinateurs IBM System/360. Le Dr Robert R. Brown prend la direction technique, épaulé par le consultant Bob Patrick. L’équipe se fixe l’objectif de créer un logiciel respectant les standards IBM Type 2 sans toucher au système d’exploitation OS/360. Cette contrainte, apparemment handicapante, garantira en réalité la pérennité de leur création.
La collaboration s’élargit au-delà de Rockwell. Caterpillar Tractor rejoint l’aventure, apportant ses besoins spécifiques en gestion industrielle. Une vingtaine de programmeurs travaillent sur ce qui devient IMS/360, intégrant DL/I dans une architecture plus ambitieuse. Le 14 août 1968, sur un terminal de Rockwell, apparaît le premier message READY d’IMS. La mission Apollo peut compter sur un nouveau compagnon informatique.
L’architecture d’IMS repose sur trois piliers : le gestionnaire de base de données (IMS DB), le gestionnaire de transactions (IMS TM) et les services communs. Cette modularité autorise une utilisation à la carte. Certains clients n’exploitent que la partie base de données (DBCTL), d’autres se concentrent sur le traitement transactionnel (DCCTL). Chacun y trouve son compte selon ses besoins spécifiques.
Une innovation organisationnelle accompagne le déploiement technique. Dan Gilbert est le premier Database Manager de l’histoire chez Rockwell, préfigurant le métier d’administrateur de bases de données. Ce poste centralise la responsabilité de l’organisation et de l’intégrité des données, rompant avec la dispersion antérieure de ces tâches entre différents services. L’approche hiérarchique d’IMS tranche avec l’univers relationnel qui dominera plus tard. Cette structure, née des besoins de gestion des nomenclatures spatiales, excelle dans les accès prédéfinis. Les relations entre données sont établies à l’avance, créant des chemins optimisés. Cette philosophie diffère radicalement des bases relationnelles, où les relations se construisent dynamiquement lors de l’exécution des requêtes.
En 1988, vingt ans après sa naissance, IMS équipe 7 000 installations dans le monde. Dans les années 2000, le système traite quotidiennement plus de 50 milliards de transactions et gère plus de 15 millions de gigaoctets de données pour plus de 200 millions d’utilisateurs. Ces volumes témoignent de sa robustesse et de sa capacité d’évolution.
L’évolution technologique n’épargne pas IMS, qui s’adapte sans renier ses principes. L’introduction d’OTMA (Open Transaction Manager Access) ouvre le système aux applications TCP/IP, brisant l’isolement des architectures réseau propriétaires IBM. Java, XML et les services Web trouvent progressivement leur place, inscrivant IMS dans l’ère de l’architecture orientée services. L’intégration avec Microsoft .NET ou SAP élargit encore son écosystème.
Le Parallel Sysplex d’IBM donne une seconde jeunesse à IMS. Le partage de données et de messages entre instances multiples optimise l’utilisation des ressources tout en renforçant la disponibilité. Ces mécanismes sophistiqués de reprise après incident en font un choix privilégié pour les applications où l’arrêt n’est pas une option.
Aujourd’hui, IMS demeure un pilier du traitement transactionnel dans les secteurs financiers, manufacturiers et gouvernementaux. Cette longévité dans un domaine marqué par des cycles d’innovation effrénés valide les choix architecturaux initiaux. La séparation des préoccupations, l’intégrité des données et la performance des traitements restent des préoccupations centrales, plus de cinquante ans après les premiers dessins techniques de la capsule Apollo.
LOGO
En 1966, quatre chercheurs de BBN (Bolt, Beranek and Newman) à Cambridge, Massachusetts, se lancent dans un projet qui va faire évoluer l’apprentissage : Seymour Papert, Wallace Feurzeig, Daniel Bobrow et Cynthia Solomon créent LOGO.
Le parcours de Seymour Papert explique beaucoup de choses. Mathématicien de formation, il a passé cinq années à Genève avec le psychologue suisse Jean Piaget, absorbant ses théories sur le développement cognitif. Ce dernier refuse l’idée que l’apprentissage consiste à remplir un cerveau vide. Pour lui, l’enfant construit activement ses connaissances. En 1964, il rejoint le laboratoire d’Intelligence Artificielle du MIT, dirigé par Marvin Minsky. Les deux hommes partagent l’obsession commune de comprendre la pensée humaine en observant comment les machines apprennent.
Le nom LOGO provient du grec logos, qui signifie « mot ». C’est Wallace Feurzeig qui propose cette appellation, car le langage se concentre d’abord sur la manipulation de mots et de phrases. Les créateurs partent du constat simple que les enfants jouent naturellement avec les mots, alors que les mathématiques les terrorisent souvent. Techniquement, LOGO descend directement de LISP, le langage de l’intelligence artificielle inventé par John McCarthy. Il en hérite l’évaluation interactive, la récursivité et la manipulation de listes, tout en gardant sa syntaxe accessible aux plus jeunes.
La première expérience grandeur nature se déroule en 1969 à l’école Muzzey Junior High School. Douze terminaux connectés à un ordinateur PDP-1 accueillent des élèves de 12 ans qui programment en LOGO. Ils créent des générateurs de phrases, codent des jeux comme le morpion, développent des programmes pédagogiques. Toujours cette année 1969, Seymour Papert et Cynthia Solomon quittent BBN pour fonder le groupe LOGO au laboratoire d’IA du MIT.
L’année suivante apporte l’innovation qui va rendre LOGO célèbre : la « tortue ». Ce petit robot se déplace au sol en traçant une ligne derrière lui. Puis une version graphique apparaît à l’écran. La géométrie de la tortue transforme l’apprentissage des mathématiques : les enfants « jouent la tortue » avec leur corps, établissant un pont direct entre mouvement physique et abstraction mathématique.
Les années 1970 voient naître le concept de « micromondes », ces environnements d’apprentissage conçus autour de domaines spécifiques. Au langage et à la géométrie s’ajoutent de nouveaux territoires d’exploration. Andrea diSessa développe la « dynatortue » pour explorer la physique newtonienne. Les sprites sur le TI-99/4 permettent l’animation. Radia Perlman pousse l’innovation plus loin en créant des interfaces pour les très jeunes enfants : les button boxes et la slot machine rendent la programmation accessible sans savoir lire ni écrire.
En 1980, avec l’avènement des ordinateurs personnels, Seymour Papert publie Mindstorms, un livre qui expose sa vision pédagogique, où l’ordinateur se mue en instrument qui aide les enfants à réfléchir sur leur propre pensée. Le succès est immédiat. Les intégrations commerciales se multiplient : Terrapin et LCSI sortent leurs versions pour l’Apple II en 1981, bientôt suivies par des adaptations sur pratiquement tous les micro-ordinateurs de cette génération.
Le langage évolue et se diversifie au cours des décennies suivantes. L’orientation objet s’invite dans LOGO avec Object LOGO et TLC LOGO. LogoWriter de LCSI marie programmation et traitement de texte. StarLogo introduit la programmation parallèle et la simulation de systèmes complexes. Les variantes prolifèrent et plus de 300 dialectes voient le jour.
La pédagogie LOGO repose sur des principes qui bouleversent l’enseignement traditionnel. Le debugging cesse d’être la correction honteuse d’erreurs pour devenir un processus naturel d’apprentissage par essai-erreur. Le développement de procédures apprend aux enfants à décomposer les problèmes en sous-problèmes nommés. L’élève choisit ses projets, le professeur le guide.
Ces innovations pédagogiques suscitent des débats académiques acharnés. Certaines études, notamment celles de Pea et Kurland, ne parviennent pas à démontrer les bénéfices annoncés sur les capacités générales de résolution de problèmes. Ces résultats refroidissent parfois l’enthousiasme institutionnel pour LOGO, mais ces recherches font l’objet de critiques sévères. Leur méthodologie et leur vision restrictive de l’apprentissage limitent leur portée.
LOGO traverse les décennies. Scratch, né au MIT Media Lab, reprend la philosophie basée sur la construction dans un environnement de programmation par blocs colorés. NetLogo poursuit la tradition de la simulation multi-agents. App Inventor transpose les principes de LOGO à la programmation mobile. LOGO propose une vision radicale de l’éducation. L’informatique n’est pas une matière supplémentaire à enseigner mais un outil pour repenser l’apprentissage. En donnant aux enfants le contrôle de la technologie, il offre une alternative à l’enseignement magistral. LOGO est un langage de programmation et une philosophie qui place l’enfant au cœur de son apprentissage.
Read Only Memory
Dans l’univers des composants électroniques, la ROM fait figure d’exception. Là où la plupart des mémoires s’empressent d’oublier leurs données dès qu’on leur coupe l’alimentation, elle garde précieusement ses informations, comme un coffre-fort numérique. Cette particularité lui vaut son nom : Read Only Memory, mémoire en lecture seule.
L’histoire commence dans les années 1950, quand les ingénieurs découvrent qu’ils ont besoin de stocker des données de manière permanente. Les premières ROM naissent de cette nécessité, entièrement câblées à la main dans les usines. Chaque bit se trouve littéralement gravé dans la matière, figé au moment où le silicium prend forme. Ces ROM masquées, comme les baptisent leurs créateurs, conviennent parfaitement aux productions en série. Fabriquer cent mille exemplaires identiques d’un programme est désormais économiquement viable. Mais gare à celui qui découvre une erreur après la fabrication : impossible de revenir en arrière.
Cette rigidité finit par peser. Les années 1960 voient naître la PROM, une ROM que l’utilisateur programme seul. L’idée d’acheter une puce vierge remplie de uns binaires, puis la personnaliser avec un équipement spécialisé, séduit. L’opération demeure irréversible, ce qui vaut à ces composants le surnom peu flatteur de « programmables une seule fois ». Une faute de frappe, et direction la poubelle.
La décennie suivante apporte un vent de liberté avec l’EPROM. Pour la première fois, les développeurs peuvent corriger leurs erreurs. Le secret tient dans une petite fenêtre de quartz ménagée au sommet de la puce. Exposer le composant à une lumière ultraviolette intense efface complètement son contenu, comme une gomme électronique. Certes, l’opération prend du temps et coûte plus cher, mais quelle révolution pour qui doit tester et retester son code !
L’EEPROM débarque dans les années 1980 avec la promesse d’en finir avec les séances d’ultraviolets. Cette fois, l’effacement se fait électriquement, avec une précision qui modifie chaque octet individuellement. Les concepteurs apprécient cette chirurgie de l’information, peu importe si les temps d’écriture traînent en longueur et si le prix décourage les utilisations intensives.
La mémoire flash, apparue vers la fin des années 1980, réunit enfin tous les avantages recherchés : densité respectable, coût abordable, vitesse de lecture correcte et reprogrammation électrique. L’effacement ne fonctionne que par blocs entiers, généralement de quelques centaines d’octets à plusieurs kilo-octets, ce qui est fait son unique contrainte. Un détail technique qui n’empêche pas son triomphe commercial.
Cette évolution transforme notre rapport aux machines. La ROM peuple nos appareils électroniques. Elle abrite le BIOS des ordinateurs, ces instructions primitives qui réveillent la machine et vérifient son bon fonctionnement. Calculatrices, imprimantes, téléphones portables, tous ces objets familiers dissimulent une ROM qui conserve leurs programmes de base. Sa nature protège naturellement contre les modifications non autorisées, formant un rempart silencieux mais efficace contre les intrusions.
L’industrie trouve dans cette technologie un équilibre entre permanence et souplesse. Cette trajectoire illustre une tendance de l’informatique qu’est la recherche constante d’adaptabilité. Les laboratoires continuent d’explorer de nouvelles voies comme les mémoires résistives (ReRAM), les technologies à changement de phase, ou les approches quantiques. Ces recherches dessinent les contours de composants futurs qui pourraient marier la robustesse traditionnelle de la ROM avec des performances inédites. Certains chercheurs évoquent aussi une protection intrinsèque contre les rançongiciels. L’aventure de la ROM semble loin d’avoir atteint son épilogue.
NLS
Le 9 décembre 1968, Douglas Engelbart monte sur l’estrade d’un auditorium de San Francisco bondé de 2000 spectateurs. Pendant une heure et demie, cet homme tranquille va bouleverser la vision que chacun se fait de l’informatique. Son système NLS (oN-Line System) dévoile ce que sera l’ordinateur personnel des décennies suivantes. La souris, l’hypertexte, la vidéoconférence, l’édition collaborative en temps réel... autant d’inventions qui semblent surgir de nulle part mais qui, en réalité, mijotent dans son esprit depuis plus de vingt ans.
Au milieu des années 1940, Engelbart, technicien électronicien dans la Marine, tombe sur un article de Vannevar Bush intitulé « As We May Think ». Bush y décrit le Memex, une machine imaginaire capable d’organiser et de relier toutes les connaissances humaines. Cette lecture frappe Engelbart comme une révélation. De retour dans le civil, il rumine cette idée. Face à la complexité croissante du monde et les problèmes de plus en plus difficiles, il est convaincu qu’il faut créer des outils qui démultiplient nos capacités de réflexion et de collaboration.
En 1957, il intègre le Stanford Research Institute comme consultant. Là, il mûrit sa vision d’une informatique qui augmente l’intelligence humaine plutôt que de la remplacer. Contrairement aux partisans de l’intelligence artificielle qui rêvent de machines pensantes, lui mise sur la symbiose homme-machine. En 1962, il couche ses idées dans un rapport qui fera date : « Augmenting Human Intellect : A Conceptual Framework ». Ce manifeste lui vaut le soutien de l’ARPA, de la NASA et d’autres organismes. L’année suivante, il fonde l’Augmentation Research Center au sein du SRI. L’équipe qu’il rassemble va donner naissance au système NLS. Bill English rejoint l’aventure et co-invente avec Engelbart ce petit objet en bois qui révolutionnera l’interface homme-machine : la souris. Deux roues orthogonales dans un boîtier, voilà qui remplace avantageusement le crayon optique de l’époque. D’autres tentatives voient le jour : des dispositifs commandés par le genou, par la tête, mais rien ne vaut la simplicité de la souris. L’équipe développe aussi un clavier à accords qui transforme l’utilisateur en pianiste de l’informatique, composant ses commandes d’une seule main.
NLS transforme la façon de travailler avec l’information. Fini les programmes qui s’exécutent en mode batch, place à l’interaction directe. Les documents se structurent, se lient entre eux, se modifient en temps réel par plusieurs utilisateurs simultanément. Il est possible de les voir sous différents angles, les rechercher, les annoter. La messagerie s’intègre naturellement au système, la vidéoconférence aussi. L’écran se partage en fenêtres, les objets se manipulent directement.
La démonstration de 1968 orchestre tout cela avec un sens du spectacle remarquable. Engelbart trône devant sa console, relié à un ordinateur distant de 50 kilomètres. Son écran et son image se projettent sur un mur de 6 mètres sur 5. Dans les coulisses, Bill English coordonne une équipe technique qui jongle avec la vidéo, le son et les liaisons à distance. La technologie de d’alors rend l’exploit d’autant plus impressionnant. Sur scène, il édite du texte comme si c’était naturel, crée des listes hiérarchiques, insère des graphiques. À 50 kilomètres de là, Bill Paxton collabore avec lui en direct. Leurs deux curseurs dansent ensemble sur l’écran géant. La conversation vidéo avec l’équipe de Menlo Park stupéfie l’audience. Ces gestes semblent tenir de la magie à cette période.
Cette « Mother of All Demos » sème les graines de notre informatique moderne. Dans l’audience, Alan Kay et Charles Irby observent attentivement. Ils rejoindront plus tard le Xerox PARC où naîtront les premières interfaces graphiques commerciales. Pourtant, le succès immédiat échappe à son créateur. Rebaptisé Augment en 1978, NLS demeure un outil de spécialistes. Le système exige un matériel onéreux et des utilisateurs experts. Pour Engelbart, la puissance prime sur la facilité d’usage. Il compare l’apprentissage de son système à celui d’un instrument de musique. Cette philosophie se heurte à l’émergence des ordinateurs personnels qui privilégient la simplicité. L’architecture centralisée de NLS vieillit mal face à ce changement. L’équipe se disperse, ses membres partant développer ailleurs des interfaces plus accessibles.
NLS n’est qu’un premier pas vers une transformation de la collaboration humaine. Engelbart imagine un processus de bootstrapping où chaque génération d’outils engendre la suivante, dans une spirale vertueuse entre progrès technique et évolution des pratiques. Cette démonstration légendaire incarne une certaine idée de l’informatique comme amplificateur de l’intelligence collective. Nos usages multimédias actuels sont issus de cette performance, mêlant télévision, télécommunications et informatique. Elle nous rappelle surtout que le potentiel d’augmentation de nos capacités cognitives reste largement inexploité.
Engelbart continuera jusqu’à sa mort en 2013 à explorer ces questions, notamment au Bootstrap Institute qu’il crée en 1989. Le prix Turing qu’il reçoit en 1997 couronne une œuvre visionnaire.
ARPANET
Dans les laboratoires américains du début des années 1960, les ordinateurs vivaient en autarcie. Ces machines coûteuses fonctionnaient isolément, chacune gardant jalousement ses données et ses programmes. Mais au MIT, Joseph Carl Robnett Licklider voyait plus loin. En 1962, cet homme aux idées visionnaires griffonnait dans ses mémorandums l’esquisse d’un « réseau galactique » qui transformerait radicalement notre rapport aux machines. Il imaginait un monde où n’importe qui pourrait puiser instantanément dans les ressources informatiques dispersées aux quatre coins du pays. Son rêve trouvait enfin un terrain d’expression concret en prenant enfin la tête du programme de recherche informatique de l’ARPA, cette agence du Pentagone spécialisée dans les projets d’avant-garde..
Leonard Kleinrock publiait en juillet 1961 au MIT le premier article sur la transmission par paquets, une idée qu’il développerait trois ans plus tard dans un livre complet. Pendant ce temps, Paul Baran planchait à la RAND Corporation sur un réseau de communication sans point central, où la redondance garantirait la survie des échanges en cas de destruction partielle. Outre-Atlantique, Donald Davies du National Physical Laboratory britannique explorait des voies parallèles.
L’été 1965, Lawrence Roberts et Thomas Merrill parvinrent à relier deux ordinateurs séparés par un continent entier, l’un dans le Massachusetts, l’autre en Californie. Une simple ligne téléphonique suffisait. L’expérience fonctionnait, certes, mais elle révélait aussi les limites criantes du réseau téléphonique traditionnel pour ce type d’usage.
Roberts rejoignit l’ARPA l’année suivante et donna chair au projet ARPANET. Son plan détaillé, présenté en 1967, suscita d’abord la méfiance des chercheurs concernés. L’architecture technique proposée leur semblait trop complexe. Wesley Clark sauva la mise en suggérant une solution d’une simplicité géniale : créer des ordinateurs dédiés au routage des données, baptisés Interface Message Processors. Ces fameux IMP séduisirent immédiatement. En décembre 1968, l’entreprise Bolt Beranek and Newman en décrocha le contrat de construction. Le réseau s’éveilla en septembre 1969. Le premier nœud prit ses quartiers à l’UCLA, où Leonard Kleinrock dirigeait le Network Measurement Center. Le second s’installa au Stanford Research Institute de Douglas Engelbart, qui abritait le Network Information Center. L’université de Californie à Santa Barbara et celle de l’Utah complétèrent ce quatuor fondateur.
Le 29 octobre 1969 restera dans l’histoire : ce jour-là, les premiers bits voyagèrent entre UCLA et Stanford. Contrairement à une idée répandue, ARPANET ne naquit pas d’une obsession militaire liée à la guerre froide. L’objectif beaucoup plus pragmatique était de rentabiliser des investissements colossaux en partageant ces ordinateurs hors de prix entre centres de recherche. L’ARPA finançait des machines souvent incompatibles qui dormaient une bonne partie du temps. Les connecter relevait du simple bon sens économique.
Steve Crocker prit la tête du Network Working Group qui accoucha en décembre 1970 du Network Control Protocol, premier protocole de communication entre ordinateurs hôtes d’ARPANET. L’adoption se fit graduellement entre 1971 et 1972, permettant aux premières applications véritables de voir le jour. Bob Kahn orchestra en octobre 1972 une démonstration publique qui fit sensation lors de l’International Computer Communication Conference de Washington. Depuis les sous-sols de l’hôtel Hilton, les visiteurs découvraient ce réseau mystérieux en temps réel. Le succès balaya toutes les prévisions. Cette année vit aussi naître le courrier électronique de Ray Tomlinson, première application qui conquit vraiment les utilisateurs.
La croissance devint exponentielle. Quinze nœuds fin 1971. En 1973, premières liaisons internationales vers l’University College de Londres et le Royal Radar Establishment norvégien. ARPANET venait d’inventer le premier réseau international de commutation de paquets.
Vinton Cerf et Bob Kahn franchirent un cap décisif dès 1973 en concevant TCP/IP. Ils voulaient interconnecter des réseaux de natures différentes, comme les futurs réseaux radio et satellite. Leur architecture ouverte permettait à chaque réseau de conserver ses spécificités tout en communiquant avec les autres via TCP/IP. Le 1er janvier 1983, ARPANET basculait vers TCP/IP. Cette migration technique exigeait de modifier simultanément tous les ordinateurs du réseau. Pour forcer la transition, les concepteurs désactivèrent progressivement l’ancien protocole NCP en 1982, un jour après l’autre, avant l’arrêt définitif. L’opération réussit parfaitement, démontrant la maturité de la nouvelle architecture.
ARPANET inventa aussi une méthode de développement qui survit aujourd’hui. Steve Crocker créa dès 1969 les Request for Comments, ces documents de travail informels où les chercheurs partageaient leurs réflexions. Les RFC devinrent l’outil de référence pour documenter et normaliser le réseau. Cette tradition d’ouverture traverse encore les décennies. Le Network Working Group initial évolua vers l’Internet Working Group et diverses structures comme l’Internet Activities Board. Des chercheurs et ingénieurs y développaient les protocoles ensemble, loin des pressions commerciales ou politiques.
ARPANET transforma la collaboration scientifique. Il fit naître une communauté internationale soudée par une culture commune d’ouverture et de coopération. Les choix techniques et organisationnels des années 1970 ont influencé l’architecture et la gouvernance de l’Internet contemporain. En 1990, ARPANET s’effaça discrètement, remplacé par NSFNET et les premiers réseaux commerciaux qui utilisaient TCP/IP.
B
En 1969, dans les couloirs des Bell Labs, Ken Thompson et Dennis Ritchie travaillent sur UNIX, ce système d’exploitation qui promet de révolutionner l’informatique. Mais comment programmer efficacement sur ces mini-ordinateurs aux ressources limitées sans se perdre dans les méandres de l’assembleur ?
Thompson connaît bien BCPL, ce langage développé par Martin Richards à Cambridge. Puissant, certes, mais trop lourd pour les PDP-7 et PDP-11 dont disposent les chercheurs. L’idée germe alors de créer une version simplifiée, épurée, qui garderait l’esprit de BCPL tout en s’adaptant aux contraintes matérielles. C’est ainsi que naît B, nom choisi par simple contraction alphabétique qui s’avérera prémonitoire avec l’arrivée ultérieure du langage C.
La philosophie de B tient dans sa simplicité radicale. Fini les types complexes et les subtilités syntaxiques qui alourdissent le développement. Dans B, tout est mot machine. Les variables se dimensionnent automatiquement selon l’architecture, généralement 36 bits. Cette approche, qui pourrait sembler limitative, cache en réalité une efficacité redoutable pour la programmation système. Chaque octet compte quand les ressources se mesurent en kilo-octets.
La syntaxe hérite de BCPL mais Thompson la dépouille de ses fioritures. Les structures de contrôle classiques demeurent : if, while, for. Les opérateurs arithmétiques et logiques conservent leur notation familière. Une innovation marque durablement le paysage informatique : l’usage d’accolades pour délimiter les blocs de code. Cette convention, apparemment anodine, traversera les décennies pour se retrouver dans d’innombrables langages modernes.
B supporte les pointeurs et les tableaux, concepts indispensables pour manipuler la mémoire au plus près. Cette capacité se révèle essentielle pour UNIX, où chaque cycle processeur doit être optimisé. Thompson et Ritchie développent un compilateur remarquablement compact, tenant en quelques milliers de lignes. Plus tard, ils y ajoutent un interpréteur pour faciliter le développement interactif. Cette dualité compilation-interprétation offre le meilleur des deux mondes : performance pour la production, flexibilité pour les tests.
Des portions entières du système d’exploitation, initialement codées en assembleur, sont réécrites en B, faisant d’UNIX son terrain d’expérimentation privilégié. L’expérience révèle les forces et faiblesses de B. D’un côté, le développement s’accélère considérablement et facilite la maintenance du code. De l’autre, certaines limitations surgissent, notamment dans la manipulation de chaînes de caractères où l’absence de distinction entre caractères et entiers complique les opérations.
La portabilité guide les choix de conception. Dans un monde informatique fragmenté entre architectures incompatibles, B promet de libérer les développeurs de ces contraintes matérielles. Théoriquement, une application écrite en B peut migrer d’une machine à l’autre par simple recompilation. Si la réalité se montrera plus nuancée, cette vision avant-gardiste qui influencera les langages futurs.
L’évolution des architectures vers des mots de 8 et 16 bits rend le modèle de B moins optimal. Les besoins croissants d’UNIX dépassent progressivement ses capacités. Dennis Ritchie, fort de l’expérience acquise, entreprend de concevoir un successeur. En 1972 naît C, qui conserve l’esprit de B tout en résolvant ses principales limitations grâce à un système de types plus sophistiqué.
Cette évolution illustre parfaitement la nature itérative du progrès informatique. B n’a vécu que quelques années, mais son influence dépasse cette courte existence. Chaque programmeur qui écrit une boucle for en Java ou JavaScript utilise une syntaxe héritée de B. Les accolades qui structurent le code, les opérateurs familiers, l’approche procédurale, autant d’éléments que B a légués à la postérité.
Aux Bell Labs et ailleurs, B sert de formation à toute une génération de programmeurs. Sa simplicité relative en fait un excellent véhicule pédagogique pour comprendre la programmation système. Nombreux sont ceux qui contribueront plus tard à l’essor d’UNIX et d’Internet après avoir fait leurs premières armes avec ce langage. Brian Kernighan rédige un tutoriel qui établit des standards de qualité pédagogique durables, démontrant qu’un langage technique peut s’enseigner avec clarté et méthode.
La philosophie de B – privilégier la simplicité sur la complexité, l’efficacité sur l’exhaustivité – traverse les époques. Cette approche minimaliste, où chaque élément doit justifier sa présence par son utilité pratique, caractérise encore des langages comme Go, développé par des vétérans de Bell Labs. C’est toute une culture de développement qui se transmet.
Cette histoire rappelle que l’innovation informatique procède rarement par ruptures brutales. Elle avance par accumulation, chaque génération s’appuyant sur les acquis de la précédente tout en cherchant à dépasser ses limites. B s’inspire de BCPL, engendre C, qui donnera naissance à d’innombrables descendants, dont chaque maillon compte.
Premier RFC
En 1969, une poignée d’étudiants et de chercheurs s’attelle à un projet qui changera le monde : l’ARPANET. Cette initiative de l’Advanced Research Projects Agency du Pentagone vise à connecter quatre universités de la côte ouest : UCLA, Stanford Research Institute, UC Santa Barbara et l’université de l’Utah. Chaque site dispose de machines différentes, avec ses propres systèmes et ses particularités techniques. Cette diversité, qui pourrait sembler un atout, se révèle plutôt un casse-tête.
Steve Crocker, étudiant à UCLA, peine à trouver le sommeil par une nuit d’avril. Les discussions techniques entre équipes s’accumulent, mais rien n’est consigné nulle part. Comment faire dialoguer ces machines si différentes et documenter les solutions trouvées ? Dans l’obscurité de sa chambre, il prend une feuille et commence à rédiger ce qui deviendra le RFC 1, intitulé simplement « Host Software ».
Ce document naît au sein du Network Working Group, un collectif informel de jeunes chercheurs qui se retrouvent physiquement pour discuter de ce réseau qu’ils construisent justement pour éviter les déplacements. L’ironie de la situation n’échappe à personne. Ces réunions se déroulent sans hiérarchie particulière, sans mandat officiel, dans une atmosphère décontractée qui tranche avec les pesanteurs administratives habituelles.
Crocker choisit délibérément le terme « Request for Comments » plutôt qu’une formulation plus autoritaire. Il redoute qu’un ton trop doctoral ne froisse des experts plus confirmés qui travaillent peut-être, imagine-t-il, sur les mêmes questions depuis leurs bureaux de la côte est. Cette prudence initiale forge l’esprit des RFC : documenter sans imposer, proposer sans contraindre.
Le 7 avril 1969, ce premier RFC aborde des questions sur la structuration des messages entre ordinateurs qui semblent aujourd’hui rudimentaires. Crocker propose des en-têtes de 16 bits avec des adresses de destination sur 5 bits seulement, ce qui limite le réseau à 32 machines. Il évoque les links, ces connexions fixes entre machines, bien éloignées des connexions dynamiques actuelles. La latence du réseau, estimée à une seconde, paraît énorme comparée aux microsecondes actuelles.
Une proposition visionnaire émerge de ce document : le DEL, ou Decode-Encode Language, un langage de description des terminaux destiné à faire communiquer des systèmes hétérogènes. Cette idée a engendré les standards de communication qui structureront plus tard l’internet.
La publication de ce RFC inaugure des principes nouveaux. D’abord, la gratuité totale : les documents sont consultables par n’importe qui sans débourser un centime. Ensuite, l’ouverture : chacun peut rédiger un RFC, qu’il soit professeur titulaire ou simple étudiant. Ces règles démocratiques bousculent les habitudes académiques et industrielles. La distribution se fait d’abord par courrier postal, avant d’évoluer vers le FTP puis l’e-mail. Les premiers RFC sont parfois manuscrits ou tapés à la machine, témoins d’une époque où l’informatique se cherche. Certains documents portent encore les traces de corrections au stylo, vestiges touchants de cette période artisanale.
Jon Postel est le premier éditeur officiel des RFC en 1971. Sous son autorité bienveillante, le processus se structure sans se rigidifier. Les documents gagnent en uniformité tout en préservant leur spontanéité originelle. Il instaure des critères de qualité qui élèvent le niveau général sans décourager les contributions. Cinquante ans plus tard, plus de 8 500 RFC ont vu le jour. Ils couvrent tous les aspects d’internet, des protocoles fondamentaux aux applications les plus sophistiquées. Cette collection constitue la mémoire technique d’internet, un patrimoine documentaire unique par son ampleur et sa cohérence.
Les RFC prouvent qu’il est possible de maintenir des standards rigoureux dans un cadre ouvert et collaboratif. Cette aventure rappelle aussi que les fondations d’internet ont été posées par des jeunes gens animés par l’envie de partager plutôt que de dominer.
RAM
Dans les laboratoires américains des années 1960, une contradiction flagrante tourmente les ingénieurs. D’un côté, ils miniaturisent les composants logiques jusqu’à la taille d’un petit pois. De l’autre, ils conservent des systèmes de mémoire à tores magnétiques gros comme des barils. Ces dispositifs hérités des années 1950 fonctionnent certes à merveille, mais leur encombrement est grotesque face aux progrès de l’intégration.
Bob Norman de Fairchild Semiconductor cherche une issue dès 1961. Il imagine d’intégrer plusieurs circuits flip-flop sur une puce de silicium, chaque élément stockant un bit d’information. L’idée séduit sur le papier, mais la technologie refuse de suivre. Les dirigeants de Fairchild rangent le projet au placard, le jugeant irréalisable. Pourtant, Texas Instruments livre à l’US Air Force un petit ordinateur équipé de quelques centaines de bits de mémoire semi-conductrice. Cette démonstration prouve que le concept tient la route, à petite ou grande échelle. IBM flaire le potentiel et publie en 1965 un rapport ambitieux baptisé Potential for Monolithic Megabit Memories. L’entreprise pousse l’expérimentation en développant une puce de 16 bits pour le System/360 Model 95, machine spécialement conçue pour les besoins de la NASA en 1966.
Tom Longo bouleverse la donne l’année suivante. Avec son équipe de Transitron, il met au point la première puce de mémoire commerciale multi-cellules. Ces 16 bits exploitent la technologie TTL et trouvent immédiatement preneur chez Honeywell. Le succès pousse Fairchild et Texas Instruments à développer leurs propres versions.
Depuis les laboratoires d’IBM, Robert Dennard révolutionne l’approche en 1966. Il invente la cellule DRAM à un transistor, prouesse technique qui simplifie radicalement l’architecture des mémoires. Les cellules SRAM existantes nécessitent plusieurs transistors par bit stocké. Cette innovation ouvre la voie aux mémoires DRAM modernes.
Fairchild relance ses ambitions en 1967 avec le programme SAM (Semiconductor Advanced Memory). L’objectife est de produire une puce de 64 bits. L’année suivante, des constructeurs proposent des mémoires TTL de cette capacité, organisées en 16 mots de 4 bits chacun, dont les temps d’accès atteignent 60 nanosecondes.
Radiation Inc., future Harris Semiconductor, introduit en 1969 les mémoires PROM (Programmable Read-Only Memory). Ces composants programmables par l’utilisateur séduisent les développeurs d’ordinateurs. Ils autorisent la modification du microcode lors des phases de débogage, souplesse inédite qui accélère le développement des systèmes.
En 1970 avec l’Intel 1103, William Regitz et Joel Karp, épaulés par Ted Hoff et Ted Rowe, mettent au point la première DRAM commercialement viable. Cette puce de 1 024 bits souffre encore de limitations en vitesse et en simplicité d’usage, mais elle prouve définitivement que les mémoires semi-conductrices peuvent équiper les ordinateurs.
Dov Frohman frappe fort l’année suivante avec l’Intel 1702, première mémoire EPROM. Cette invention exploite une technique de grille flottante imaginée chez Bell Labs. Le principe : programmer électriquement la mémoire et l’effacer par exposition aux ultraviolets à travers une petite fenêtre en quartz ménagée dans le boîtier.
Bob Proebsting de Mostek change les règles en 1973. Sa MK 4096 propose 4 Kbit dans un boîtier de seulement 16 broches grâce à une technique astucieuse d’adressage multiplexé. Cette approche influence toutes les générations suivantes de DRAM, comme un standard industriel.
La course à la capacité s’emballe. Les puces de 16 Kbit arrivent en 1976, exploitant une technologie à double couche de polysilicium qui optimise l’agencement des cellules mémoire. Les 64 Kbit suivent en 1979, puis les 256 Kbit en 1982. Chaque génération apporte son lot d’innovations technologiques et repousse les limites de la miniaturisation.
En 1983, Intel frappe un grand coup avec la première DRAM CMOS d’1 Mbit. Cette transition technologique vers le CMOS dessine l’avenir du secteur. Paradoxalement, Intel abandonne peu après le marché des DRAM, laissant le champ libre à ses concurrents japonais et coréens qui s’engouffrent dans la faille.
L’innovation continue avec les puces d’1 Mbit en 1986. Ces composants inaugurent l’usage de cellules mémoire non planaires, empilées ou creusées en tranchée pour gagner de la place. Les capacités grimpent inexorablement : 4 Mbit en 1988, 16 Mbit en 1991, 64 Mbit en 1994. Chaque bond technologique s’accompagne de contraintes de fabrication toujours plus redoutables.
L’année 1998 voit naître les DRAM de 256 Mbit qui introduisent les diélectriques à haute permittivité. Cette innovation matérielle autorise la poursuite de la miniaturisation tout en conservant les propriétés électriques nécessaires au bon fonctionnement des cellules mémoire.
Cette course effrénée aux performances suit la loi de Moore avec une régularité saisissante. Le doublement des capacités tous les deux ans environ s’accompagne d’une chute vertigineuse du coût par bit stocké. Cette démocratisation économique propulse les mémoires vives dans tous les appareils électroniques, des ordinateurs personnels aux téléphones portables.
UNIX
Les Bell Labs bouillonnaient d’activité à la fin des années 1960. Une équipe de chercheurs travaillait d’arrache-pied sur Multics, un projet titanesque mené avec le MIT et General Electric. Cette ambition colossale était de créer un système d’exploitation capable de gérer plusieurs utilisateurs et tâches simultanément. Parmi ces visionnaires se trouvaient Ken Thompson et Dennis Ritchie, deux hommes qui allaient bientôt bousculer l’informatique.
Multics patinait. AT&T, lassée par les coûts astronomiques et les délais qui s’étiraient sans fin, claqua la porte en 1969. Thompson et Ritchie se retrouvèrent avec une expérience solide mais sans machine pour poursuivre leurs recherches. La direction refusa leur demande d’acquisition d’un nouvel ordinateur. Thompson eut l’idée de récupérer un vieux PDP-7 qui prenait la poussière dans les laboratoires. Sur cette machine désuète, il se mit à construire quelque chose d’inédit. Il développa un noyau élémentaire, un assembleur, un shell et quelques outils de base comme rm, cat et cp. Le nom UNIX surgit d’un jeu de mots avec Multics, clin d’œil ironique à la simplicité face à la complexité de son aîné.
L’année 1970 changea la donne. L’équipe décrocha un PDP-11. Cette machine ne disposait d’aucun disque et de seulement 24 Ko de mémoire, mais elle permit l’éclosion de la première édition officielle d’UNIX. Le développement s’emballa. Thompson créa le langage B, version allégée du BCPL, tandis que Ritchie planchait sur ce qui deviendrait le langage C entre 1971 et 1973.
Cette invention du C bouleversa tout. Dès la quatrième édition d’UNIX en 1973, Thompson et Ritchie osèrent réécrire entièrement ce nouveau langage. Ce pari, audacieux à l’époque où les systèmes d’exploitation s’écrivaient en assembleur, rendit UNIX portable d’une architecture à l’autre. Les six premières éditions se bousculèrent entre 1971 et 1975.
La sixième édition, surnommée V6, marqua la première grande diffusion d’UNIX hors des Bell Labs. AT&T distribua le système aux universités avec son code source complet pour une bouchée de pain, décision qui secoua le milieu informatique.
L’Université de Californie à Berkeley fit son entrée dans l’épopée UNIX en 1975 quand Bob Fabry y installa la quatrième édition. Ken Thompson y passa une année sabbatique qui galvanisa deux étudiants brillants : Bill Joy et Chuck Haley. Ces derniers se lancèrent dans l’enrichissement du système, développant les éditeurs ex et vi, qui demeure aujourd’hui un pilier de l’édition de texte, au point d’inspirer des projets comme neovim. En 1977, Bill Joy assembla la Berkeley Software Distribution (BSD), tirée à seulement une trentaine d’exemplaires mais qui allait faire des émules.
Les années 1980 virent éclore une myriade de versions UNIX. AT&T commercialisa System III puis les différentes moutures de System V via son UNIX System Group. Berkeley poursuivait parallèlement le développement de BSD, apportant des innovations remarquables comme le Fast File System et surtout la pile réseau TCP/IP. Cette dernière, intégrée à la version 4.2BSD en 1983, propulsa BSD vers la gloire.
Bill Joy quitta Berkeley en 1982 pour co-fonder Sun Microsystems, société qui allait peser lourd dans l’évolution d’UNIX. Sun développa le Network File System (NFS) et l’architecture VFS/vnode, rendant le partage de fichiers en réseau invisible pour l’utilisateur. En 1987, une alliance inattendue se noua entre Sun et AT&T pour créer System V Release 4, fusion des meilleures caractéristiques de SunOS et de System V Release 3.2.
Cette prolifération de versions UNIX créa un besoin criant de standardisation. Le groupe /usr/group, association pour la promotion d’UNIX constituée en 1980, s’attaqua à l’uniformisation des interfaces utilisateur. Ces efforts débouchèrent en 1985 sur la naissance du standard POSIX (Portable Operating System Interface for Computing Environments), référence désormais incontournable pour la compatibilité entre systèmes UNIX. Le groupe X/Open, créé en 1984, élabora le X/Open Portability Guide (XPG), intégrant POSIX et d’autres standards.
Le début des années 1990 vit surgir un rival inattendu : Linux. En 1991, Linus Torvalds, étudiant à l’université d’Helsinki, développa un noyau compatible UNIX capable d’utiliser les outils GNU de la Free Software Foundation. Linux reprenait l’âme d’UNIX en l’adaptant aux architectures modernes. Sa licence libre accéléra sa diffusion et son adoption massive.
UNIX révolutionna l’informatique par ses concepts novateurs. Le système de fichiers hiérarchique, où tout est fichier, simplifia radicalement la gestion des ressources. Les tubes (pipes), suggérés par Doug McIlroy en 1972, connectèrent la sortie d’un programme à l’entrée d’un autre, créant des chaînes de traitement d’une puissance inégalée. Le shell offrit un environnement de programmation complet en ligne de commande.
La portabilité d’UNIX, rendue possible par son écriture en C, facilita son adaptation à une multitude d’architectures. Cette caractéristique, alliée à sa conception modulaire et sa documentation exemplaire, explique sa longévité remarquable. Les manuels UNIX, présents dès la première édition, établirent un standard de documentation technique qui fait toujours référence. Sa philosophie de conception imprègne encore le développement logiciel : créer des programmes simples qui excellent dans leur domaine, utiliser le texte comme interface universelle, composer des outils élémentaires pour résoudre des problèmes complexes.
Si ce contenu vous a plu, vous pouvez soutenir ce projet en faisant un don ou en commandant l'édition papier sur Lulu ou Amazon. Tout le contenu reste librement accessible sous licence CC BY-SA 4.0.