Betty Holberton

Betty Snyder Holberton

Betty Snyder Holberton : de l’ENIAC aux premiers outils de programmation

Frances Elizabeth « Betty » Snyder Holberton appartient à la première génération de programmeurs de l’histoire de l’informatique électronique. Membre des six femmes chargées de programmer l’ENIAC, elle participe ensuite au développement des méthodes de programmation de l’UNIVAC. Son parcours ne s’arrête pourtant pas aux premiers ordinateurs. Elle travaille sur le code symbolique C-10, conçoit un important générateur SORT/MERGE, puis consacre une grande partie de sa carrière à la normalisation et aux tests des langages informatiques.

Son parcours illustre ainsi une transformation fondamentale. Avec l’ENIAC, programmer signifie encore connecter des câbles et régler des commutateurs. Quelques années plus tard, Holberton travaille déjà sur des systèmes capables de produire automatiquement une partie du programme. Enfin, au National Bureau of Standards, elle participe à la définition de méthodes permettant de vérifier qu’un compilateur respecte réellement un langage standardisé.

Fiche rapide

  • Nom : Frances Elizabeth Snyder Holberton
  • Nom courant : Betty Snyder Holberton
  • Naissance : 7 mars 1917, Philadelphie
  • Décès : 8 décembre 2001, Rockville (Maryland)
  • Formation : journalisme, University of Pennsylvania
  • Domaines : programmation, traitement de données, langages informatiques, normalisation
  • Contributions majeures : ENIAC, UNIVAC, C-10, générateur SORT/MERGE, standards COBOL et FORTRAN, tests de conformité FORTRAN

Du journalisme au calcul scientifique

Betty Snyder suit des études à l’University of Pennsylvania et obtient en 1939 un diplôme en journalisme. Avant son arrivée dans l’informatique, elle travaille notamment pour le magazine Farm Journal.

La Seconde Guerre mondiale bouleverse cependant le marché du travail américain. L’armée cherche du personnel capable d’effectuer les nombreux calculs nécessaires à la production des tables de tir de l’artillerie.

Dans un entretien enregistré en 1973 et aujourd’hui conservé par le Smithsonian National Museum of American History, Holberton se souvient avoir découvert dans un journal une annonce recherchant des femmes pour effectuer des travaux mathématiques. Une formation était proposée.

Elle pose sa candidature.

À cette époque, le mot « computer » désigne encore une personne dont le métier consiste à calculer. Holberton devient donc littéralement un « ordinateur humain ».

L’une des six programmeuses de l’ENIAC

À la Moore School of Electrical Engineering de l’Université de Pennsylvanie, une nouvelle machine est alors en construction : l’ENIAC (Electronic Numerical Integrator and Computer).

Six femmes sont choisies pour apprendre à la programmer :

  • Jean Jennings Bartik,
  • Betty Snyder Holberton,
  • Kathleen McNulty,
  • Frances Bilas Spence,
  • Ruth Lichterman Teitelbaum,
  • Marlyn Wescoff Meltzer.

Leur travail est très différent de la programmation actuelle. L’ENIAC ne dispose initialement ni d’un langage de programmation moderne ni d’un programme enregistré en mémoire.

Pour lui faire résoudre un problème, les programmeuses doivent comprendre la circulation des nombres et des impulsions à travers ses différentes unités. Elles règlent des commutateurs, connectent des câbles et organisent l’enchaînement des opérations.

Programmer l’ENIAC revient donc en partie à transformer physiquement la logique d’un problème mathématique en configuration de la machine.

Programmer une machine presque sans documentation

Le défi est considérable. Les programmeuses ne disposent pas d’un environnement de développement, d’un compilateur ou d’un débogueur.

Avant même de pouvoir travailler directement sur l’ENIAC, Betty Holberton et Jean Bartik étudient ses schémas et ses diagrammes fonctionnels. Elles doivent comprendre comment les accumulateurs échangent leurs données et comment synchroniser les différentes parties de la machine.

Cette connaissance devient si approfondie qu’elles ne se contentent pas d’utiliser l’ordinateur. Elles développent progressivement des méthodes permettant de diagnostiquer les erreurs et de suivre son fonctionnement.

Penn Engineering crédite notamment Holberton de l’introduction des « breakpoints » dans le débogage informatique.

Il ne faut pas imaginer ici le point d’arrêt d’un logiciel moderne. Sur l’ENIAC, l’idée consiste à interrompre ou à contrôler l’exécution à différentes étapes afin de déterminer à quel endroit le calcul devient incorrect. Le principe est cependant très proche de celui utilisé aujourd’hui dans les débogueurs.

15 février 1946 : une démonstration décisive

Le rôle de Betty Holberton apparaît particulièrement bien lors de la présentation publique de l’ENIAC.

Pour la démonstration du 15 février 1946, Jean Bartik et Betty Holberton préparent un calcul de trajectoire balistique. L’objectif est spectaculaire : montrer que la machine peut calculer la trajectoire d’un projectile plus rapidement que le projectile lui-même ne la parcourt.

Mais la veille de la présentation, un problème apparaît.

La trajectoire calculée atteint le sol… puis continue sous le sol.

Bartik et Holberton cherchent l’erreur jusque tard dans la soirée sans réussir à la localiser. Elles quittent finalement le laboratoire.

Le lendemain matin, Betty Holberton revient avec une hypothèse. Selon le témoignage ultérieur de Jean Bartik, elle identifie immédiatement un commutateur mal positionné sur le Master Programmer. Elle le corrige.

Cette fois, la trajectoire s’arrête correctement lorsqu’elle touche le sol.

Lors de la démonstration, l’ENIAC calcule en environ 20 secondes une trajectoire correspondant à environ 30 secondes de vol.

Les ingénieurs ont également équipé certains voyants de dispositifs ressemblant à des demi-balles de ping-pong afin de rendre l’activité de la machine plus visible au public et aux photographes. Les nombres semblent alors évoluer directement sur la façade de l’ordinateur.

La démonstration impressionne fortement les visiteurs.

Pourtant, la reconnaissance médiatique se concentre principalement sur la machine, l’armée et ses concepteurs. Les femmes qui ont préparé sa programmation restent largement absentes du récit public. Penn rappelle même que les programmeuses ne sont pas conviées au dîner organisé après la démonstration.

Après l’ENIAC : rejoindre Eckert et Mauchly

En 1947, Betty Holberton quitte la Moore School et rejoint l’entreprise fondée par J. Presper Eckert et John W. Mauchly.

Elle se trouve ainsi directement impliquée dans le passage des ordinateurs expérimentaux aux premières machines destinées à être commercialisées.

L’entreprise travaille notamment sur le BINAC, puis surtout sur l’UNIVAC. Holberton participe à cette nouvelle génération de systèmes et travaille étroitement avec Mauchly sur les méthodes permettant de les programmer.

Son rôle le mieux documenté concerne l’UNIVAC et les outils logiciels qui l’accompagnent.

C-10 : rendre les instructions plus compréhensibles

Sur les premières machines électroniques, programmer implique souvent de manipuler directement des codes numériques correspondant aux instructions du processeur.

Holberton participe au développement du C-10 pour l’UNIVAC. Ce système utilise des symboles mnémotechniques pour représenter certaines opérations.

Par exemple, le NIST cite :

  • a pour une opération d’addition ;
  • b pour une opération appelée bring.

L’idée paraît simple aujourd’hui. Elle représente pourtant une étape importante : le programmeur peut commencer à employer une notation plus facile à lire et à retenir que les seuls codes numériques de la machine.

Les archives du Computer History Museum conservent d’ailleurs un document intitulé UNIVAC Instruction Code C-10, daté du 27 janvier 1950.

Il serait cependant exagéré de présenter C-10 comme un langage de haut niveau moderne. Il appartient encore au monde de la programmation proche de la machine. Son intérêt historique réside surtout dans l’évolution vers des représentations symboliques plus pratiques.

SORT/MERGE : quand un programme commence à écrire un programme

Une autre contribution de Holberton est encore plus importante pour l’histoire du logiciel.

Au début des années 1950, le traitement informatique de grandes quantités de données impose souvent de trier et de fusionner des fichiers. Sur UNIVAC, les données se trouvent notamment sur bandes magnétiques.

Imaginons, par exemple, plusieurs fichiers contenant des milliers de dossiers classés séparément. Pour obtenir un fichier unique correctement ordonné, l’ordinateur doit comparer les clés, lire les bandes et écrire les résultats dans le bon ordre.

Écrire manuellement un programme spécifique pour chaque organisation de données serait fastidieux.

Holberton conçoit alors un générateur SORT/MERGE. L’utilisateur décrit certaines caractéristiques des données et les critères de classement. Le système génère ensuite le programme nécessaire pour effectuer l’opération.

Autrement dit :

le programme produit un autre programme.

C’est une idée fondamentale.

Le générateur SORT/MERGE n’est pas encore un compilateur moderne. Toutefois, il introduit un principe essentiel de la programmation automatique : demander à la machine de fabriquer elle-même une partie du code qu’elle exécutera ensuite.

Les archives du Computer History Museum conservent notamment un Master Generating Routine for 2-Way Sorting de Holberton daté du 3 septembre 1952.

Une influence directe sur Grace Hopper

Cette contribution est particulièrement intéressante car elle apparaît dans le témoignage de Grace Hopper elle-même.

Dans une histoire orale enregistrée en 1980 et conservée par le Computer History Museum, Hopper explique que le travail de Holberton sur le générateur SORT/MERGE lui avait montré qu’un ordinateur pouvait servir à générer un programme.

Hopper indique que cet exemple l’a encouragée dans ses propres recherches qui aboutiront aux premiers compilateurs de la famille A-0.

Cette distinction est importante : Holberton n’a pas créé le premier compilateur. En revanche, son générateur représente l’une des expériences pionnières de génération automatique de programmes et participe directement à l’évolution qui conduit aux compilateurs.

En 1997, l’IEEE Computer Society lui attribuera d’ailleurs son Computer Pioneer Award pour le développement du premier générateur sort-merge pour UNIVAC et son influence sur les premières idées liées à la compilation.

De la programmation aux standards

La carrière de Betty Holberton prend ensuite une autre direction.

Après avoir travaillé chez Remington Rand, qui a repris l’activité UNIVAC, elle rejoint en 1953 l’Applied Mathematics Laboratory du David Taylor Model Basin.

Elle y reste jusqu’en 1966.

Cette année-là, elle rejoint le National Bureau of Standards (NBS), l’organisme américain devenu depuis le National Institute of Standards and Technology (NIST).

Son travail se concentre désormais largement sur un problème qui devient essentiel à mesure que l’industrie informatique grandit : les standards des langages de programmation.

FORTRAN et COBOL : faire parler le même langage aux ordinateurs

Dans les années 1960, un langage comme FORTRAN peut exister sur de nombreux ordinateurs construits par différents fabricants.

Mais une difficulté apparaît : deux constructeurs peuvent interpréter différemment certains détails du langage.

Un programme valable sur une machine risque alors de produire un résultat différent ou de ne plus fonctionner sur une autre.

La création de standards doit résoudre ce problème.

Betty Holberton participe activement aux travaux de normalisation concernant notamment FORTRAN et COBOL.

Il faut ici éviter une confusion fréquente : Holberton n’est pas la créatrice de COBOL. Son rôle documenté concerne notamment les comités chargés de préciser et de normaliser ces langages.

L’objectif devient progressivement celui que nous connaissons aujourd’hui : un programme conforme à un langage standard doit conserver le même sens quel que soit le constructeur de la machine ou du compilateur.

Mais comment vérifier qu’un compilateur respecte réellement le standard ?

Définir une norme sur papier ne suffit pas.

Un constructeur peut affirmer que son compilateur est compatible avec FORTRAN. Encore faut-il le vérifier.

Au NBS, Betty Holberton et Elizabeth G. Parker travaillent donc sur une solution particulièrement moderne : une batterie de programmes de test.

Le principe est simple.

On soumet exactement les mêmes programmes à différents compilateurs FORTRAN. Chaque programme teste une caractéristique précise du langage. Le résultat obtenu est ensuite comparé au résultat attendu.

Si le compilateur produit la bonne réponse, le test réussit. Dans le cas contraire, une incompatibilité apparaît.

Les NBS FORTRAN Test Programs

Ces travaux aboutissent aux NBS FORTRAN Test Programs, publiés notamment sous la forme de la NBS Special Publication 399 en 1974.

Le dispositif comprend 116 unités de test destinées à contrôler différentes caractéristiques du FORTRAN standard.

L’objectif n’est pas de déterminer quel ordinateur est le plus rapide. Il s’agit de vérifier si son compilateur interprète correctement le langage.

Cette distinction est essentielle.

Un standard définit les règles.

Les tests permettent de vérifier que ces règles sont réellement respectées.

Cette démarche paraît évidente dans l’informatique contemporaine. Les langages, navigateurs, bibliothèques, API et systèmes d’exploitation utilisent aujourd’hui d’immenses suites de tests automatiques pour contrôler leur conformité.

Dans les années 1960 et 1970, appliquer de façon systématique cette logique à un langage informatique constitue pourtant un domaine encore nouveau.

Le NIST considère les travaux de Holberton et Parker comme une étape importante dans le développement des méthodes objectives et automatisées de test de conformité des logiciels.

Une carrière qui traverse plusieurs générations de l’informatique

Le parcours de Betty Holberton est remarquable par sa continuité.

Sur l’ENIAC, elle programme en manipulant physiquement des câbles et des commutateurs.

Avec l’UNIVAC, elle participe à la mise au point de systèmes symboliques permettant de rendre la programmation plus pratique.

Avec SORT/MERGE, elle contribue à faire produire du code par l’ordinateur lui-même.

Enfin, au National Bureau of Standards, elle travaille sur une question d’un niveau encore supérieur : comment définir précisément un langage et vérifier automatiquement que les logiciels chargés de l’interpréter respectent ces règles ?

En quelques décennies, son métier passe donc du câblage d’un calcul à la normalisation du logiciel.

Une reconnaissance tardive

Comme les autres programmeuses de l’ENIAC, Betty Holberton reçoit relativement peu de reconnaissance publique pendant les premières décennies de sa carrière.

Cette situation commence à évoluer dans les années 1980 et surtout dans les années 1990, lorsque des historiens et des institutions réexaminent l’histoire des débuts de la programmation.

En 1997, plusieurs distinctions viennent reconnaître son parcours :

  • l’IEEE Computer Society lui attribue son Computer Pioneer Award pour son générateur SORT/MERGE ;
  • l’Association for Women in Computing lui remet l’Augusta Ada Lovelace Award ;
  • les six programmeuses originales de l’ENIAC entrent au Women in Technology International Hall of Fame.

Betty Holberton meurt le 8 décembre 2001, à l’âge de 84 ans.

Pourquoi Betty Holberton est une figure majeure

  • ENIAC : elle appartient aux six premières programmeuses de la machine et participe à l’élaboration des méthodes nécessaires pour la programmer.
  • Démonstration de 1946 : avec Jean Bartik, elle prépare la trajectoire balistique utilisée pour présenter publiquement les capacités de l’ENIAC.
  • Débogage : son travail participe aux premières méthodes systématiques permettant de localiser les erreurs dans un programme.
  • UNIVAC et C-10 : elle contribue au passage des codes purement numériques vers une programmation plus symbolique.
  • SORT/MERGE : elle développe un système dans lequel un programme peut générer un autre programme.
  • Compilation : Grace Hopper reconnaîtra elle-même l’influence de ce travail sur ses recherches consacrées à la programmation automatique.
  • Standards : Holberton participe à la normalisation de langages comme FORTRAN et COBOL.
  • Tests logiciels : avec Elizabeth Parker, elle contribue à transformer la conformité d’un compilateur en quelque chose que l’on peut tester méthodiquement.

Repères chronologiques

  • 1917 : naissance de Frances Elizabeth Snyder à Philadelphie
  • 1939 : diplôme de journalisme à l’University of Pennsylvania
  • Années 1940 : travail comme « computer » pour les calculs balistiques de l’armée américaine
  • 1945–1946 : programmation de l’ENIAC
  • 15 février 1946 : démonstration publique de l’ENIAC utilisant la trajectoire préparée avec Jean Bartik
  • 1947 : départ pour l’entreprise d’Eckert et Mauchly
  • 1950 : travaux sur le code C-10 de l’UNIVAC
  • 1952 : développement du générateur SORT/MERGE
  • 1953–1966 : Applied Mathematics Laboratory du David Taylor Model Basin
  • 1966 : entrée au National Bureau of Standards
  • 1974 : publication des NBS FORTRAN Test Programs avec Elizabeth G. Parker
  • 1983 : retraite du National Bureau of Standards
  • 1997 : Computer Pioneer Award de l’IEEE et Augusta Ada Lovelace Award
  • 2001 : décès de Betty Holberton

Sources et références


Photo de couverture : photographe inconnu — photographie transmise par Priscilla Holberton, fille de Betty Holberton. Domaine public — Wikimedia Commons.

Publications similaires

  • Ada Lovelace

    Ada Lovelace : la comtesse qui imagina la machine au-delà du calcul Ada Lovelace occupe une place singulière dans l’histoire de l’informatique. Mathématicienne britannique et collaboratrice de Charles Babbage, elle publie en 1843 une série de « Notes » consacrées à sa machine analytique. L’une d’elles décrit une méthode détaillée permettant à la machine de…

  • Ken Williams

    Ken Williams est l’une des figures majeures de l’histoire du jeu vidéo sur micro-ordinateur. Programmeur de formation et entrepreneur, il cofonde avec son épouse Roberta Williams la société On-Line Systems, qui deviendra ensuite Sierra On-Line. Le couple joue un rôle important dans l’évolution du jeu d’aventure. Alors que les premières aventures informatiques reposent essentiellement sur…

  • J. Presper Eckert

    J. Presper Eckert : l’ingénieur de l’ENIAC et pionnier de l’UNIVAC John Adam Presper Eckert Jr., généralement appelé J. Presper Eckert ou simplement « Pres », est l’un des principaux ingénieurs de la naissance de l’informatique électronique. Avec le physicien John W. Mauchly, il conçoit l’ENIAC, l’un des premiers grands ordinateurs électroniques numériques programmables à…

  • John von Neumann

    John von Neumann est l’une des figures scientifiques les plus importantes du XXe siècle. Mathématicien exceptionnel, il contribue à la mécanique quantique, à la théorie des jeux, à la physique nucléaire, à la météorologie et, surtout pour l’histoire de l’informatique, à la conception des premiers ordinateurs à programme enregistré. Son nom reste associé à l’architecture…

  • Federico Faggin

    Federico Faggin, né le 1er décembre 1941 à Vicence, en Italie, est un physicien, ingénieur, inventeur et entrepreneur italo-américain. Il joue un rôle majeur dans l’histoire du microprocesseur, depuis les premières technologies permettant d’intégrer de nombreux transistors sur une puce jusqu’au développement de processeurs comme l’Intel 4004, l’Intel 8080 et le Zilog Z80.Son parcours permet…

  • Alan Michael Sugar

    Alan Michael Sugar, né le 24 mars 1947 à Londres, est un entrepreneur britannique connu pour avoir fondé la société Amstrad. Il joue un rôle déterminant dans la démocratisation de l’électronique et de l’informatique personnelle en Europe, en particulier durant les années 1980. Son approche repose sur une idée simple : rendre la technologie accessible,…