Un besoin militaire qui dépasse les calculatrices disponibles
Pendant la Seconde Guerre mondiale, l’armée américaine a besoin de tables de tir. Ces tables indiquent comment régler une pièce d’artillerie selon les conditions et la distance recherchée. Leur préparation demande de nombreux calculs de trajectoires : la vitesse initiale ne suffit pas, car la gravité et la résistance de l’air interviennent aussi.
Le mot anglais computers désigne alors des personnes chargées du calcul. Ces calculateurs et calculatrices travaillent sur les trajectoires avec des instruments de calcul. On utilise également des équipements comme l’analyseur différentiel. La difficulté tient au nombre de cas à traiter et au temps nécessaire pour les calculer.
Mauchly défend l’idée d’un traitement électronique beaucoup plus rapide. Eckert apporte une contribution déterminante à sa réalisation technique. Le projet est mené à la Moore School of Electrical Engineering, avec le financement de l’armée pour le Ballistic Research Laboratory. L’accord militaire du printemps 1943 précède le contrat formel W-670-ORD-4926, daté du 5 juin 1943, répertorié dans l’inventaire des archives de l’université de Pennsylvanie, pièce Ptf 1531. L’approbation du projet et sa formalisation contractuelle sont donc deux étapes distinctes ; la construction commence cette année-là.
Le nom Electronic Numerical Integrator and Computer annonce cette ambition : effectuer numériquement des calculs, notamment l’intégration nécessaire aux trajectoires. ENIAC reste associé à la balistique, mais son organisation permet de préparer d’autres types de problèmes numériques.
Construire une machine électronique à grande échelle
Le choix des tubes électroniques, ou tubes à vide, permet de commuter des signaux sans attendre le déplacement d’un contact mécanique. Mais remplacer une opération lente par une opération rapide ne suffit pas. Il faut que l’ensemble fonctionne de façon cohérente, avec des signaux correctement formés et transmis au bon moment.
Le document technique diffusé par le War Department en 1946 décrit environ 18 000 tubes et une installation composée de grands panneaux. C’est une réalisation collective : conception des circuits, câblage, alimentation, montage, essais et maintenance mobilisent bien plus que les deux noms généralement associés au projet.
L’ingénierie porte aussi sur les moyens de vérifier la machine. Dans son entretien conservé au Smithsonian, Eckert explique que son équipe développe du matériel de test adapté, notamment des oscilloscopes et des générateurs d’impulsions. La capacité à observer un défaut fait partie de la construction d’un équipement utilisable.
ENIAC n’est pas achevé assez tôt pour remplir sa mission pendant les combats de la Seconde Guerre mondiale. Des calculs sont exécutés à la fin de 1945, puis la présentation publique a lieu en février 1946. Il faut donc distinguer le contexte de financement, les premières utilisations et l’annonce au public.
Ce qu’ENIAC pouvait conserver et calculer
Un calcul électronique, mais décimal
ENIAC travaille avec des nombres décimaux. Électronique ne signifie pas nécessairement binaire : un chiffre peut être représenté par l’état d’un circuit organisé pour distinguer dix valeurs.
Ses vingt accumulateurs peuvent chacun conserver un nombre signé de dix chiffres décimaux. Un accumulateur ne sert pas seulement de rangement : il participe aux additions et aux soustractions. Des unités complémentaires prennent en charge la multiplication, la division et l’extraction de racines carrées.
| Élément |
Rôle dans le calcul |
| Accumulateurs |
Conserver des nombres et effectuer notamment additions et soustractions. |
| Unités arithmétiques complémentaires |
Réaliser d’autres opérations, comme la multiplication ou la division. |
| Tables de fonctions |
Fournir des valeurs préparées au moyen de commutateurs ; leur rôle évolue ensuite pour les instructions. |
| Commande et programmation |
Organiser le déclenchement et la répétition des opérations. |
| Équipements à cartes |
Introduire des données et recueillir des résultats. |
Le document de 1946 conservé au Smithsonian distingue les fonctions arithmétiques, la mémoire et le contrôle. Ce sont des fonctions réparties dans l’installation ; on ne doit pas imaginer un processeur moderne unique caché derrière les panneaux.
La vitesse ne supprime pas les contraintes de mémoire
Un accumulateur peut effectuer de l’ordre de 5 000 additions par seconde. Ce chiffre décrit une capacité arithmétique, pas le nombre de trajectoires complètes calculées pendant ce temps. Une seule trajectoire demande de nombreuses opérations.
Il faut aussi distinguer les vingt nombres conservés dans les accumulateurs des constantes fournies par les tables ou les cartes. La mémoire de travail disponible pour les résultats intermédiaires est limitée, et certaines opérations mobilisent plusieurs accumulateurs. La manière de répartir les valeurs influence donc directement le programme.
Les cartes perforées relient la machine aux données préparées à l’extérieur. Dans la configuration initiale, elles ne constituent pas un flux général d’instructions comparable au chargement d’un programme moderne.
Les six programmeuses au cœur du fonctionnement
Des calculatrices humaines aux programmes de la machine
Six femmes sont sélectionnées en 1945 pour préparer les calculs d’ENIAC. Leur expérience des méthodes numériques et des trajectoires compte : elles doivent comprendre le problème avant de l’adapter à une machine encore nouvelle.
Les noms varient dans les sources selon les périodes de leur vie. Les identifier permet de reconnaître les mêmes personnes dans des documents et des témoignages différents.
| Nom employé dans les récits des débuts |
Nom également connu |
| Kathleen « Kay » McNulty |
Kathleen Mauchly Antonelli |
| Jean Jennings |
Jean Jennings Bartik, souvent appelée Jean Bartik |
| Betty Snyder |
Frances Elizabeth « Betty » Holberton |
| Marlyn Wescoff |
Marlyn Meltzer |
| Frances Bilas |
Frances Spence |
| Ruth Lichterman |
Ruth Teitelbaum |
L’IEEE Computer Society leur rend collectivement hommage. Cette liste ne désigne pas toutes les personnes qui programmeront ou exploiteront ENIAC pendant sa carrière : elle identifie les six pionnières de sa première programmation.
Selon l’IEEE Computer Society, Jean Bartik et Betty Holberton codirigent les premiers travaux de programmation. L’université de Pennsylvanie leur attribue notamment la préparation du calcul de trajectoire qui sert de base à la démonstration pour la presse en 1946.
Le travail ne consiste pas à recopier une équation sur un panneau. Il faut décomposer une méthode en opérations, décider où placer les nombres et déterminer dans quel ordre les unités doivent les échanger. Les schémas de la machine et les échanges avec les ingénieurs deviennent des outils essentiels.
Prenons un exemple pédagogique inspiré du problème des trajectoires, sans reproduire le programme historique. On peut approcher un mouvement en avançant par petits intervalles de temps :
- déterminer les forces correspondant à l’état courant ;
- calculer l’évolution de la vitesse ;
- en déduire une nouvelle position ;
- vérifier si le calcul doit continuer ;
- répéter avec l’état obtenu.
Cette méthode oblige à conserver des valeurs d’un passage au suivant. Il faut réserver des emplacements, fournir des constantes, organiser les répétitions et définir les conditions d’arrêt. Une erreur de répartition peut détruire une valeur encore nécessaire, même si chaque circuit arithmétique fonctionne correctement.
C’est une activité de programmation à part entière : elle relie le raisonnement mathématique, les ressources disponibles et les mécanismes de commande. La comparaison avec Ada Lovelace et sa note G éclaire une différence de situation : ici, la préparation d’un calcul doit aboutir à son exécution vérifiable sur une machine réelle.
Dans son état initial, ENIAC est programmé à l’aide de connexions et de commutateurs. Les trajets des nombres et les signaux qui commandent les opérations doivent être organisés. Le programme se traduit donc dans les réglages de l’installation, plutôt que dans un fichier chargé en mémoire.
Une fois la configuration prête, l’enchaînement peut se dérouler automatiquement. Les programmeuses ne refont pas manuellement chaque addition. En revanche, changer substantiellement de problème peut demander une nouvelle préparation matérielle, suivie d’essais.
Le contrôle des calculs est indissociable de ce travail. Il faut comparer les résultats attendus et obtenus, localiser l’étape où ils divergent et distinguer une mauvaise configuration d’une défaillance électronique. Une sortie imprimée ou perforée n’est pas, à elle seule, une garantie de justesse.
Le débogage ne se réduit donc pas à remplacer un tube. Il concerne aussi la méthode numérique, l’ordre des opérations, les valeurs préparées et la circulation des signaux. Reconnaître cette responsabilité évite de présenter les programmeuses comme de simples exécutantes autour d’un matériel qui aurait déjà tout résolu.
Un parcours de travail, pas une architecture moderne miniature

Parcours de travail simplifié pour la configuration initiale, vers 1946. Les flèches montrent les étapes de préparation et d’exécution, pas le câblage exact. Les cartes apportent ici des données ; le programme est défini par les réglages.
Ce parcours aide à distinguer trois choses : le problème mathématique, le programme qui organise les opérations et les données du cas étudié. Une même méthode peut être appliquée à de nouvelles données, sans que cela signifie que toute nouvelle méthode puisse être installée aussi facilement.
Cette distinction explique l’intérêt d’une machine généraliste. ENIAC n’est pas cantonné à une seule analyse cryptographique, mais sa souplesse a un coût de préparation. Généraliste ne veut pas dire identique à un ordinateur personnel, ni dépourvu de contraintes pratiques.
Des usages qui dépassent les tables de tir
Les premières utilisations ne se confondent pas avec la démonstration publique de balistique. L’American Physical Society décrit un calcul pour Los Alamos en décembre 1945, avant l’annonce de la machine. Ses objectifs relèvent des recherches nucléaires ; il ne faut pas en déduire qu’ENIAC aurait déjà été utilisé pour les bombardements de la guerre achevée.
Les calculs militaires et scientifiques accompagnent ensuite sa carrière. Déplacé à Aberdeen Proving Ground en 1947, ENIAC sert notamment à des recherches numériques qui demandent des traitements répétitifs importants. Les simulations nucléaires font partie de ces usages, dans un contexte où le calcul devient lui-même un outil d’expérimentation.
La portée de ces travaux dépend aussi de la préparation des programmes et de la fiabilité des résultats. Une machine peut exécuter rapidement un calcul physiquement bien défini et pourtant fournir une réponse inutile si le modèle, les données ou les contrôles sont inadéquats.
1948 : les instructions encodées changent le mode de programmation
Après la guerre, les équipes cherchent à faciliter et à réorganiser le contrôle d’ENIAC. Le document Central Control for ENIAC, rédigé par Adele Goldstine en 1947, témoigne de ces travaux. L’édition commentée décrit un effort collectif associant notamment John von Neumann, Herman et Adele Goldstine, des membres du laboratoire, Klara von Neumann, Nicholas Metropolis et un groupe dirigé par Jean Bartik.
Dans le nouveau fonctionnement, des instructions encodées sont placées dans les tables de commutateurs et lues par un dispositif de contrôle. On ne représente plus l’ensemble du programme uniquement par les connexions directes entre unités. Une séquence de codes peut déterminer les opérations et leur enchaînement.
Les recherches de Thomas Haigh, Mark Priestley et Crispin Rope replacent cette conversion dans son contexte. Le Computer History Museum situe au 12 avril 1948 l’exécution d’un programme complexe dans ce nouveau mode, consacré à une simulation de type Monte-Carlo. La machine de 1948 ne doit donc pas être décrite comme si elle était restée identique à celle de 1946.
Une mémoire d’instructions qui n’est pas celle du Manchester Baby
Les tables de commutateurs conservent des instructions que la machine peut lire, mais elle ne les réécrit pas comme des données ordinaires pendant le calcul. On peut comparer ce rôle à celui d’une mémoire en lecture seule, ou ROM, sans imaginer un composant moderne identique.
Le Manchester Baby, en 1948, expérimente un programme placé dans une mémoire électronique réinscriptible utilisée aussi pour les données. Ces différences rendent les étiquettes de « premier ordinateur à programme enregistré » délicates : il faut préciser quelle propriété et quelle configuration on compare.
Les premières machines à programme enregistré, dont Baby et EDSAC, prolongent cette comparaison. L’essentiel est de comprendre le changement d’organisation, plutôt que de transformer des réalisations différentes en un classement unique.
ENIAC, EDVAC et Colossus : trois repères à distinguer
EDVAC est un autre projet, pas le nouveau nom d’ENIAC. Le First Draft of a Report on the EDVAC, diffusé en 1945 sous le nom de John von Neumann, expose une organisation différente du calcul et de la mémoire. Il s’inscrit dans des réflexions collectives auxquelles participent notamment Eckert et Mauchly ; il ne suffit pas à attribuer le programme enregistré à une seule personne.
L’article sur l’architecture de von Neumann détaille ce principe. Ici, le point important est de séparer le projet d’une nouvelle machine et la transformation d’une machine existante : la conversion d’ENIAC et le développement d’EDVAC sont des histoires liées, mais distinctes.
| Machine ou projet |
Repère utile pour la comparaison |
| Colossus |
Traitements électroniques programmables, spécialisés dans certaines opérations de cryptanalyse. |
| ENIAC initial |
Calcul numérique généraliste, préparé par connexions et commutateurs. |
| ENIAC transformé |
Instructions encodées dans des tables de commutateurs, avec un contrôle réorganisé. |
| EDVAC |
Projet d’une autre machine, associé à une organisation du programme et des données en mémoire. |
L’histoire de Colossus et Tommy Flowers montre pourquoi « électronique », « programmable », « généraliste » et « à programme enregistré » ne sont pas des synonymes.
Une reconnaissance qui doit inclure la programmation
La présentation publique de 1946 donne une grande visibilité à ENIAC. Elle n’accorde pas aux programmeuses une reconnaissance à la hauteur de leur travail. L’université de Pennsylvanie et l’ENIAC Programmers Project rappellent combien leur rôle a été longtemps laissé dans l’ombre.
Les témoignages recueillis par Kathy Kleiman contribuent à rétablir cette part de l’histoire. Jean Bartik, Betty Holberton et leurs collègues ne doivent pas apparaître uniquement comme les noms d’un hommage tardif : leurs choix expliquent comment la machine a pu devenir un instrument de calcul.
ENIAC reste utilisé jusqu’en 1955. Son importance ne tient pas seulement à ses dimensions ou à sa vitesse. Il montre que construire un calculateur, concevoir une méthode, programmer et vérifier les résultats sont des responsabilités liées. Son héritage est celui d’un travail collectif, matériel et intellectuel.
Questions fréquentes
ENIAC était-il binaire ?
Non. Son calcul était décimal, avec notamment des accumulateurs capables de conserver des nombres de dix chiffres. Le fait d’utiliser des circuits électroniques n’impose pas, à lui seul, une représentation binaire.
Les six programmeuses devaient-elles déplacer les câbles à chaque opération ?
Non. Elles préparaient une configuration permettant ensuite un enchaînement automatique. Un nouveau problème pouvait exiger de revoir cette configuration, mais les opérations d’un calcul déjà organisé n’étaient pas toutes déclenchées manuellement.
Pourquoi ne pas donner un temps de calcul unique pour une trajectoire ?
Le temps dépend de la méthode, des données, de la précision et du périmètre retenu : calcul seul, lecture des cartes ou préparation du programme. Le débit d’addition ne permet pas de déduire directement la durée d’un problème complet.
ENIAC fonctionnait-il déjà pendant les combats de la Seconde Guerre mondiale ?
Il a été conçu et financé dans ce contexte, mais ses premières utilisations datent de la fin de 1945, après la fin des combats. La présentation publique de février 1946 est encore une autre étape.
Non. ENIAC conserve son identité et reçoit un nouveau mode de contrôle utilisant des instructions encodées. EDVAC est un autre projet. Pour comparer les formes de programme enregistré, il faut aussi distinguer les tables de commutateurs d’une mémoire électronique réinscriptible.