Cet article est publié en collaboration avec le blog Binaire.

Il y a 70 ans, à l’université de Manchester, un ordinateur fonctionnait pour la première fois dans l’histoire. Le Manchester Museum of Science and Industry célèbre cet exploit par une exposition et une série de conférences sur les débuts de l’informatique. Le clou de cette manifestation est une réplique du Baby computer de 1948, construite à l’identique avec ses lampes radio et sa mémoire à tube cathodique, qui effectue des calculs sur des logiciels d’époque. Un historien, Pierre Mounier-Kuhn, nous raconte cette histoire, soulignant que la Grande-Bretagne sait admirablement mettre en valeur son patrimoine numérique. Binaire.

En 1945, tirant les leçons des réalisations électroniques secrètes menées pendant la guerre, deux documents ont défini une structure de machine radicalement nouvelle : le calculateur numérique à programme enregistré en mémoire — auquel les Français donneront plus tard le nom bien pratique d’ordinateur.

## Du concept à l’ordinosaure

Le premier, le rapport Von Neumann, publié dès juin 1945, aura un large impact en raison même de sa disponibilité (on peut l’acheter à Washington pour une poignée de dollars) et de la notoriété de son auteur : John von Neumann, l’un des esprits les plus brillants et les plus universels du XX e siècle, est bien connu dans le monde scientifique et a ses entrées chez les dirigeants civils et militaires.

Le deuxième, élaboré quelques mois plus tard à Londres, est un plan beaucoup plus détaillé d’ordinateur conçu par le mathématicien Alan Turing pour le National Physical Laboratory. Il cite d’ailleurs le rapport Von Neumann comme référence principale.

La dématérialisation complète du programme, passant de cartes perforées ou de bandes de papier à des impulsions électroniques, permet d’accélérer énormément le traitement des instructions et ouvre de nouvelles possibilités algorithmiques : il est beaucoup plus facile, dans une machine, d’accéder à n’importe quelle adresse mémoire électronique que de dérouler et rembobiner en permanence une bande de papier !

Si l’architecture définie par Von Neumann constitue potentiellement une solution élégante et prometteuse, elle commence par poser un problème technique ardu : comment réaliser les mémoires ? Cet organe essentiel pour stocker les instructions et les données est en principe au cœur de la nouvelle machine. Mais il n’existe rien de tel dans les technologies matérielles disponibles à l’époque, pour mémoriser des impulsions binaires.

Au cours des années qui suivent, une dizaine d’équipes à travers le monde se lancent dans le développement d’ordinateurs, surtout en Angleterre et aux États-Unis. Elles expérimentent divers procédés de mémorisation, empruntés souvent au radar et aux télécommunications.

L’une de ces équipes se rassemble à l’université de Manchester. Elle est issue en partie de Blechtley Park et du laboratoire des Télécommunications britanniques, qui a participé au développement de machines secrètes pendant la guerre. Les responsables du département de génie électrique, Frederic C. Williams et Tom Kilburn, parient sur la possibilité d’enregistrer des données sur l’écran d’un tube cathodique – d’un écran de télévision. En simplifiant beaucoup, disons que chaque bit d’information serait représenté sur l’écran par un pixel, inscrit, renouvelé ou lu à chaque balayage de l’écran par le faisceau cathodique. Un peu comme, pendant la bataille d’Angleterre, les opératrices radar voyaient sur leur écran s’afficher des points lumineux représentant les avions ennemis, et qui bougeaient à chaque balayage du radar.

Pour tester cette idée, ils construisent une maquette de laboratoire : un « tube de Williams » avec ses circuits de commande, connecté à un calculateur électronique minimal. Chaque tube cathodique peut mémoriser entre 512 et 2048 bits, régénérés chaque milliseconde. Le processeur ne sait faire qu’une opération : la soustraction ! Nous avons tous appris à l’école qu’en combinant deux soustractions on obtient une addition (« moins par moins fait plus »), qu’en combinant des additions on obtient une multiplication et qu’en soustrayant plusieurs fois on effectue une division… Un processeur arithmétique réduit au minimum permet donc de calculer ce que l’on veut en économisant le matériel, si l’on accepte une certaine lenteur d’opération. C’est suffisant pour vérifier la faisabilité pratique de la mémorisation dans des tubes cathodiques, but de cette Manchester Small-Scale Experimental Machine, surnommée “Baby” par ses développeurs.

Le 21 juin 1948, pour la première fois dans l’histoire, un programme enregistré servant de test effectue un calcul dans cette machine. Tom Kilburn a écrit et codé en binaire un algorithme, une simple recherche du plus grand facteur propre de 2¹⁸. L’intérêt de ce calcul banal n’est pas mathématique, mais technique : nécessitant beaucoup d’opérations, il prend beaucoup de temps… donc permettra de vérifier si la machine est fiable. Après 52 minutes et 3,5 millions d’instructions exécutées, le système produit la réponse correcte (131 072). On peut dater de ce jour la naissance de l’ordinateur, en considérant que l’enregistrement d’un programme dans une mémoire directement accessible par le processeur est l’innovation qui va permettre les développements algorithmiques ultérieurs.

<figure><img src="image_1.png" /><figcaption>Le premier programme enregistré de l’histoire : 17 instructions (ici, la version modifiée en juillet 1948). Photo School of Computer Science, The University of Manchester., CC BY</figcaption></figure>

## De l’expérience de laboratoire à l’ordinateur commercial

La Baby Machine sera la base d’un grand ordinateur, Manchester Mark I, construit l’année suivante et industrialisé ensuite par une grande entreprise locale de matériels électriques, Ferranti.

Le mathématicien qui a initié et supervisé tout le projet, Max Newman, n’est autre que le professeur de Cambridge qui avaient enseigné la logique au jeune Turing en 1936, puis l’avait rejoint au service de cryptanalyse. À la rentrée 1948, il invite Alan Turing à Manchester pour prendre en charge la programmation du nouvel ordinateur. Turing ne se contentera pas de développer des méthodes de codage et de vérification de programmes : il y testera ses modèles mathématiques de morphogenèse et spéculera sur les possibilités de simuler la pensée. Dès octobre 1949, le département de philosophie de l’université accueille un colloque de cogitations cybernéticiennes sur « The Mind and the Computing Machines ».

<figure><img src="image_2.png" /><figcaption>Alan Turing (à gauche) et la console du Ferranti Mark I. Photo Ferranti / School of Computer Science, The University of Manchester., CC BY</figcaption></figure>

En 1950, une dizaine d’ordinateurs sont en construction, certains même déjà en service, en Angleterre, aux États-Unis et en Union Soviétique. Le caractère extrêmement risqué de ces projets justifie qu’ils soient menés généralement dans les laboratoires de recherche publics : ceux-ci, financés par des agences gouvernementales ou des académies, peuvent explorer librement des voies absolument nouvelles susceptibles d’être des impasses, prendre plus de temps que prévu pour surmonter des difficultés inédites, échanger ouvertement informations et leçons de l’expérience, là où des laboratoires privés seraient contraints par le secret industriel.

Rapidement, toutefois, d’assez nombreuses entreprises de toutes tailles organisent les transferts de technologies (généralement par des transferts d’hommes), mettent au point et industrialisent les nouvelles machines. En les mettant à la disposition d’utilisateurs de plus en plus nombreux, elles favorisent la multiplication des expériences et l’acquisition de savoir-faire, donc de nouveaux progrès qui ne s’arrêteront plus.

Comme toujours au stade initial du développement d’une technologie, les pionniers de l’ordinateur ont expérimenté des voies très diverses, avant de resserrer l’éventail des possibles sur quelques techniques devenues des standards. La plupart des dispositifs de mémoire essayés à la fin des années 1940 étaient trop fragiles et trop limités en taille et en vitesse. Ils furent rapidement rejetés au profit de procédés d’enregistrement magnétique, qui allaient dominer pendant 25 ans dans les mémoires vives et existent toujours dans nos disques durs.

Les fondateurs de l’informatique ont eu une vision assez claire de l’évolution future du matériel, mais ont largement sous-estimé l’importance et la difficulté de la programmation. Bien qu’universels en principe, les premiers ordinateurs étaient conçus en vue de la résolution d’une certaine classe de problèmes — souvent pour produire des tables numériques. Ils étaient utilisés par des ingénieurs, physiciens et mathématiciens qui indiquaient à la machine la suite des opérations à effectuer et récupéraient les résultats ; sans être triviale, l’écriture de programmes ne représentait pas une difficulté majeure. Avec le développement des premiers systèmes commerciaux dans les années 1950, les possibilités et domaines d’utilisation exploseront et la programmation deviendra le facteur critique de la réussite d’un projet — elle l’est encore de nos jours.

Pour en savoir plus, voir les livres indiqués en fin de l'article publié par Binaire.