Résumé

  • Le rapport Coding for A.R.C., signé par Andrew D. Booth et Kathleen H. V. Britten en 1947, interposait une notation abrégée entre le raisonnement mathématique et l’ordre machine. C’est un jalon ancien du langage d’assemblage, non la preuve d’un « premier assembleur » attribuable sans réserve à une seule personne.
  • La conversion en mots valides permettait de contrôler opérations, adresses et séquences. Elle ne démontrait ni la pertinence de l’algorithme, ni la qualité des entrées, ni la valeur du résultat obtenu.

Le coût d’une case mal remplie

Un ordre d’ARC répartissait vingt bits entre trois fonctions : huit pour l’emplacement en mémoire, sept pour la séquence et cinq pour l’opération. Dans un tel cadre, une erreur de copie n’était pas un détail typographique. Elle envoyait le contrôle ailleurs, lisait une autre valeur ou demandait une autre opération.

Booth et Britten ont donc séparé les moments du travail. On formulait d’abord le problème mathématique. On dessinait ensuite un code schématique, avec ses boucles et ses choix. Puis venaient l’affectation de la mémoire et le code détaillé. Des signes courts renvoyaient à la table des opérations numériques.

Cette organisation ne supprimait aucune contrainte matérielle. Elle donnait à chaque contrainte un endroit où être examinée. La méthode pouvait être discutée avant les adresses ; le trajet du contrôle, avant l’énumération ; les emplacements, avant le paquet final de bits. Le symbole était une prise pour l’intelligence humaine, pas une permission donnée à la machine d’interpréter.

Le préambule du rapport précise que le code d’ARC devait être identique à celui de la machine électronique projetée. Un problème préparé pour le calculateur à relais pouvait ainsi être transféré. Il s’agissait d’une compatibilité volontaire entre deux conceptions proches. Rien n’autorisait à transporter les mêmes abréviations vers n’importe quelle architecture.

Rendre justice sans fabriquer une héroïne solitaire

La page de titre associe Andrew D. Booth à Kathleen H. V. Britten, le nom que Kathleen portait avant leur mariage. La nommer aujourd’hui Kathleen Booth est naturel ; transformer ce document commun en œuvre individuelle ne l’est pas.

Les auteurs signalent aussi leur dette envers Herman Goldstine et John von Neumann. Au sein de l’Institute for Advanced Study, ceux-ci décrivaient le codage comme la préparation d’un processus de contrôle dynamique. Une machine à programme enregistré pouvait bifurquer, repasser sur une instruction et modifier des données qui commandaient la suite. Le diagramme de flux n’était donc pas une illustration ajoutée après coup, mais le premier outil de planification.

La construction d’ARC engageait elle aussi plusieurs mains. L’histoire institutionnelle de Birkbeck identifie Kathleen Britten, Xenia Sweeting et Andrew Booth sur une photographie prise en décembre 1946. Dans un entretien tardif, Andrew Booth se souvenait que Kathleen avait câblé presque toutes leurs machines avec l’aide d’une autre femme. Ce souvenir n’est pas un registre exhaustif du travail ; il empêche néanmoins d’enfermer l’histoire dans un tête-à-tête entre un inventeur et son appareil.

Le livre que Kathleen Booth consacra en 1958 à la programmation d’un calculateur numérique automatique confirme la durée de son engagement. Il fournit un meilleur argument sur sa pratique que les superlatifs rétrospectifs.

Deux « premières » qui ne répondent pas à la même question

Une notation symbolique et un assembleur opérationnel ne sont pas synonymes. La première offre des signes pour parler des opérations et organiser une traduction. Le second effectue cette traduction, sous une forme déterminée, sur ou pour une machine réelle.

Le rapport de 1947 atteste une notation abrégée ancienne et une procédure de codage complète. Pour EDSAC, les archives de Cambridge montrent que des lettres représentaient directement les codes d’opération à cinq bits. Les Initial Orders de David Wheeler, en 1949, sont par ailleurs présentés par le Computer History Museum comme un assembleur câblé.

Les deux récits peuvent coexister. Ils éclairent des couches distinctes : le plan que l’être humain relit, la convention qui lie un signe à un code, le programme de chargement qui reçoit les ordres et la traduction automatique qui produit leur forme exécutable. Chercher un seul vainqueur efface précisément l’empilement d’outils qui a rendu la programmation possible.

La machine valide une forme, pas une décision

Quand un programme symbolique est converti, on apprend que ses opérations sont reconnues, que ses adresses entrent dans le format et que les mots produits peuvent être chargés. Pour un calcul long préparé à la main, cette réduction du risque est considérable.

Mais une condition peut être encodée à la perfection et inverser la politique voulue. Une itération peut converger à partir d’un modèle mal choisi. Des données peuvent occuper la bonne adresse tout en étant obsolètes ou biaisées. La machine confirme qu’elle a suivi des ordres ; elle ne certifie pas que le monde auquel ces ordres se rapportent a été correctement décrit.

Nos outils actuels prolongent cette ambiguïté. La compilation réussie atteste une transformation selon certaines règles. Le déploiement réussi atteste un état observé par une plateforme. Ni l’un ni l’autre ne prouve à lui seul qu’une dépendance est sûre, qu’un seuil est juste ou que le résultat sert le but annoncé.

La chaîne doit donc rester explicite : les personnes assument la méthode et les hypothèses ; la notation exprime la procédure ; la traduction l’attache à une forme exécutable ; la machine produit des observations ; les personnes reviennent enfin juger le rapport entre ces observations et la question initiale.

Une interface est déjà une répartition du pouvoir

Celui qui maintient la voie normale d’accès à la machine décide en partie de ce qui est exprimable et de ce qui sera rejeté. La table d’ARC rendait ce pouvoir visible : ensemble d’opérations, largeur des adresses, transferts de contrôle et usages de la mémoire résultaient de choix d’architecture.

Une bonne abstraction déclare ses limites et laisse examiner ce qu’elle génère. Une mauvaise transforme l’absence d’erreur en certificat général. Plus l’interface paraît familière, plus il devient facile d’oublier le moment où une décision humaine a été figée en instruction.

L’héritage de Kathleen Booth n’a pas besoin d’un titre absolu pour être décisif. La méthode qu’elle a cosignée pose une exigence toujours actuelle : rendre le contrôle lisible, préserver l’exactitude du passage vers la machine et ne jamais prendre une expression acceptable pour une conclusion vraie.

Sources