La réflexion que je propose ici s’inscrit dans le cadre du séminaire organisé annuellement à Louvain-la-Neuve par le Centre de recherche en histoire des sciences (CRHS) de l’UCL. Le séminaire de cette année académique 2018-2019 a pour thème: «Théorisation et expérience». Ma contribution à ce séminaire, le 30 novembre dernier, avait pour but principal de souligner l’importance majeure de l’expérience dans l’histoire de l’émergence de l’informatique. En voici la synthèse1.
Pour commencer, il convient de donner quelques précisions au sujet du vocabulaire utilisé ici car le vocabulaire lié à l’informatique ne fait pas l’unanimité. Tout d’abord, notons que, les machines à calculer peuvent être classées selon différents critères2.
Ainsi, sur base théorique tout d’abord, il faut distinguer entre ‘analogique’ et ‘digital’. Comme l’explique Belevitch3, les machines à calculer analogiques se caractérisent par le fait que les «nombres y sont représentés par des grandeurs physiques continues qui leur sont proportionnelles»; elles donnent des résultats qui ne sont qu’approchés. Le calcul analogique relève de la théorie des modèles (ou 'analogies'). En revanche, dans les machines à calculer digitales, les nombres «sont représentés comme suite de chiffres (en anglais digit) c’est-à-dire à l’aide de grandeurs ne pouvant prendre que des valeurs discrètes»4. Leur précision dépend uniquement du nombre de chiffres pris en compte. Au sein des machines digitales, une distinction supplémentaire doit être faite entre ‘arithmétique’ (ou ‘numérique’) et ‘logique’. Les machines à calculer arithmétiques effectuent des calculs [au sens strict] tandis que les machines logiques ont pour fonction de simuler le raisonnement humain.
Sur base technique ensuite, trois catégories, apparues successivement, au cours de l’histoire, se présentent: les machines purement mécaniques (composées de savants assemblages de roues, engrenages, leviers et ressorts), les machines électromécaniques (comprenant des relais électromécaniques (binaires) et les machines électroniques avec initialement des tubes à vides («1re génération d’ordinateurs ») qui seront remplacés ultérieurement par des transistors («2e génération»).
Je voudrais encore préciser le concept d’ordinateur5 tel que le définissent les informaticiens et bon nombre d’historiens (par exemple, Mounier-Kuhn6) : il est la traduction de stored program computer et correspond à une machine à calculer dont le programme est enregistré en mémoire centrale lors de son exécution. Une telle machine est toujours à la fois digitale et électronique.
Quant à l’informatique elle-même, elle implique, selon la définition que je retiens, le recours à des ordinateurs.
Munis de ce vocabulaire, nous sommes maintenant armés pour aborder l’histoire de l’émergence de l’informatique et y montrer l’importance fondamentale de l’expérience à partir de l’analyse de deux faits particulièrement significatifs: d’une part, la recherche simultanée dans trois voies différentes pour la construction des machines à calculer construites pendant la guerre quarante et, d’autre part, la confrontation à l’échec relatif de l’ENIAC forçant la décision (mise par écrit en 1945) d’augmenter la taille de la mémoire centrale d’une machine à calculer électronique et d’y placer le programme.
Que s’est-il passé au niveau de l’automatisation des calculs pendant la seconde guerre mondiale? Comme l’explique, par exemple, Breton7, la situation fut contrastée selon les pays. Aux USA, se produisit une formidable demande en matière de calcul de tables numériques de la part des services logistiques de l'armée, en particulier le Balistic Research Laboratory (BRL)8. Il se produisit alors une collaboration active de militaires et de scientifiques et aussi une concurrence acharnée entre les promoteurs des différentes machines à calculer.
En Grande-Bretagne, c’est en matière de décryptage rapide des messages chiffrés (notamment par l'Enigma) envoyés par les Allemands qu’il y eut un appel pressant de la part de l'armée (Government Code and Cipher School). Les recherches furent faites à Bletchley Park, avec la participation notamment de Turing. Elles restèrent secrètes pendant plus de 30 ans.
En Allemagne, la situation fut très différente. Selon Mounier-Kuhn9, on assista à une «alternance de stop & go, de confiance dans une victoire rapide qui rendait inutiles de longues recherches de techniques ‘disruptives’, suivie de prises de conscience que les Alliés avaient fait de grands progrès auxquels il fallait répliquer en innovant.» Toujours est-il que la situation de Konrad Zuse, qui construisit à Berlin des machines à calculer électromécaniques, ne fut pas du tout enviable: il travailla de façon isolée et avec très peu de subventions.
Dans le tableau 1, j’ai dressé un synoptique des principales machines à calculer construites entre 1939 et 1945, en précisant leur(s) auteur(s) et leur localisation et en les ventilant selon leur catégorie et, au sein de chacune de ces dernières, en les ordonnant selon leur date d’achèvement. On voit immédiatement que trois orientations techniques se faisaient concurrence: celles des machines analogiques électroniques, celle des machines digitales électromécaniques (moins rapides mais peut-être plus fiables ?) et celle des machines digitales électroniques. Ceci montre à l’évidence que, dans les années 40, on ignorait quelle serait la voie de l’avenir pour ces machines à calculer! Il a fallu que l’expérience montre que la piste à suivre était celle du digital et de l’électronique.
En guise d’illustration de chacune de ces options techniques simultanément investiguées pendant la dernière guerre mondiale, je vais évoquer ici trois machines célèbres.
La première, analogique et électronique, appelée Rockefeller Differential Analyzer, fut construite sous la direction de Vannevar Bush. Il faut souligner que ce dernier, professeur au MIT (Massachusetts Institute of Technology), eut une très grosse influence sur la recherche aux USA. En particulier, il présida, pendant la guerre 40, le National Defense Research Committee, organisation regroupant des dirigeants du gouvernement, de l’armée, du monde des affaires et de celui de la recherche pour coordonner la recherche militaire et tenait informé le Président Franklin D. Roosevelt lui-même. Et voici les informations disponibles sur le site Web du Computer History Museum10 au sujet de cette machine de Bush: «His Rockefeller Differential Analyzer, which secretly calculated firing tables and radar antenna profiles during World War II, has been called ‘the most important computer in existence in the United States at the end of the war».
Figure 1: Eléments de l’aile gauche de l’Automatic Sequence Controlled Calculator appelé aussi Harvard Mark 1 (Original uploader was Daderot at en.wikipedia, CC BY-SA 3.0; This machine is in the Cabot Science Building, Harvard University, Cambridge, Massachusetts.)
La deuxième machine à calculer que je vais citer ici est digitale et électromécanique. Il s’agit de l’Automatic Sequence Controlled Calculator (ASCC), appelée aussi Harvard Mark 1 (voir figure 1). Financée pour un tiers par l'armée (Navy) et pour deux tiers par Watson (dans le but de faire la publicité d’IBM), cette machine fut conçue par Aiken11, professeur de mathématiques appliquées à Université de Harvard. Elle ne mesurait pas moins de 15 m. de long et devait être refroidie chaque jour par de grandes quantités de glace. Elle était contrôlée par un programme inscrit sur une bande de papier perforé (figure 2).
Figure 2 : Programme du ASCC sur bande de papier perforé
(https://commons.wikimedia.org/wiki/File:Harvard_Mark_I_program_tape.agr.jpg
ArnoldReinhold [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0) or GFDL (http://www.gnu.org/copyleft/fdl.html)], from Wikimedia Commons)
La troisième machine que je mentionnerai est évidemment la célèbre ENIAC (Electronic Numerical Integrator and Computer). Il s’agit aussi d’un mastodonte (30 tonnes, 72 m2, 18.800 tubes à vide), calculant cette fois sur base digitale et électronique. Il fut conçu et construit, à la Moore School de l'Université de Pennsylvanie, par le tandem constitué de John Mauchly (docteur en physique) et J. Presper Eckert (électronicien et bricoleur de génie). À partir de 1944, J. von Neumann participa aussi à sa mise au point. Notons encore que six femmes dirigeaient l’équipe qui le programma et que leur contribution resta ignorée pendant 50 ans. Or précisément, cette programmation mérite qu’on s’y attarde. Elle se réalisait par câblage manuel. Ceci était très fastidieux: comme l’explique Ceruzzi12, il fallait deux jours pour introduire (c‘est-à-dire en l’occurrence ‘câbler’) un programme dans la machine. L’ENIAC fut achevé en novembre 1945 seulement (après la fin de la guerre donc) et inauguré en février 1946, avec une démonstration publique prouvant son intérêt: il s’agissait du calcul de trajectoire d'un projectile. L’ENIAC apparut au grand public comme une réussite d’ingénierie et provoqua un tournant psychologique: il ouvrait la porte de la technologie digitale et électronique. Mais terminé trop tard pour être utile à son but initial, cette machine fut employée notamment pour calculer la faisabilité des plans de la bombe H et faire des prévisions météorologiques.
Figure 3: Deux programmeuses en train de câbler le programme de l’ENIAC à la Moore School (U.S. Army photo from the archives of the ARL Technical Library) (cf. wikipedia)
Il est éclairant d’illustrer les progrès réalisés en matière de vitesse de calcul pendant les années quarante. Pour ce faire, prenons l’exemple de l’évolution des temps de calcul des tables de tir balistique13 (voir tableau 2). On y voit que le calcul d’une trajectoire d’une table de tir, qui était de plus de 2 jours et demi lorsqu’il était effectué manuellement, passe de 15 minutes avec le Harvard Mark II à 3 secondes seulement avec l’ENIAC: la vitesse d’exécution d’un calcul est multipliée par 400 lorsqu’on passe de l’électromécanique et l’électronique. On comprend aisément que dans ces conditions, il devient fondamental de pouvoir changer très rapidement de programme au lieu d’y passer plusieurs jours.
Tableau 2: Évolution des temps de calcul des tables de tir balistique14.
Venons en donc à présent aux événements fondamentaux pour l’histoire de l’informatique qui se sont déroulés dans la deuxième moitié de l’année 1945. Face à la lenteur insupportable du changement de programmes au regard de sa vitesse d’exécution de l’ENIAC, ce sont vraisemblablement Mauchly & Eckert qui eurent l’idée de la solution à apporter: augmenter la taille de la mémoire centrale de la machine à calculer du futur et y mettre le programme lors de son exécution aussi bien que les données.
Mais le fait est que c’est von Neumann, et lui seul, qui signa, le 30 juin 1945, la mise par écrit de cette solution, consignée dans un brouillon, devenu célèbre, intitulé First Draft of a Report on the EDVAC [Electronic Discrete Variable Automatic Computer].
Fin 1945, dans la foulée donc de ce texte de von Neumann et y faisant d’ailleurs référence, Turing écrivit un autre document, ayant pour titre: Proposals for Development in the Mathematics Division of an Automatic Computing Engine (ACE). Les deux textes ont en commun l’idée de mettre le programme en mémoire centrale d’une machine à calculer (même si le concept n’est évidemment pas encore désigné par les termes stored computing, traduits en français en 1955 par ‘ordinateur’). Cependant les propositions de Turing sont plus achevées que celles de von Neumann : elles sont qualifiées de la façon suivante par Carpenter & Doran (1975): «quite possibly the first complete design of a stored program computer architecture».
Une dernière remarque s’impose à propos de ces deux textes de 1945 : aucun des deux ne fait allusion à l’article de Turing 1936, intitulé: On computable numbers, with an application to the Entscheidungsproblem. Il est certain toutefois que ce dernier document était bien connu de von Neumann et qu’il a pu avoir une influence sur les débuts de l’informatique. Il est vrai aussi qu’il s’agit d’un texte complètement théorique: il se situe donc à un niveau d’abstraction qui ne s’embarrasse pas de l’implémentation concrète.
Je pense que les informations rassemblées ici montrent bien l’importance essentielle de l’expérience pour expliquer l’émergence de l’ordinateur. Ceci est, me semble-t-il de nature à inciter à la réflexion, notamment quand on veut faire de la prospective.
Et pour terminer, je voudrais épingler cette considération, plus générale, proposée par Hanna Arendt15:
«Ce ne sont pas les idées, ce sont les évènements qui changent le monde – l’idée du système héliocentrique remonte à l’école de Pythagore et, dans l’Histoire, elle a toujours accompagné les traditions néoplatoniciennes sans pour autant modifier en quoi que ce soit le monde ni l’esprit humain – et Galilée, plus que Descartes, est responsable de l’évènement décisif des temps modernes.»
M. d'Udekem-Gevers
Vice présidente de l'asbl NAM-IP
Faculté d’informatique – Université de Namur
Notes: (Liens valables au moment de la publication de cet article)
1. Un développement de cette synthèse peut-être trouvé
dans d'Udekem-Gevers 2018.
2. Marguin 1994
3. Belevitch 1952.
4.
ibid.
5. À ce sujet, consulter impérativement Randell 1982.
6. in
Lazard et Mounier-Kuhn 2016, P.73.
7. Breton 1990.
8. Aspray 1990.
9. Courriel du 29/11/2018.
10.
http://www.computerhistory.org/revolution/analog-computers/3/143 Une photo de la machine est aussi disponible sur ce site.
11. Aiken vint lui même plus tard en Belgique pour coacher la conception et la fabrication de la Machine mathématique IRSIA-FNRS (d’Udekem-Gevers 2011).
12. Ceruzzi 1990.
13. Le but de telles tables était de permettre de régler l'angle de tir en fonctions de différents facteurs : type de projectile, situation de la cible, vitesse du vent, température, etc.
14. Adapté de Lévy 1989.
15. Arendt 1958.
Bibliographie (Liens valables au moment de la publication de cet article)
• Arendt H. 1958 (1961 et 1983),
La condition de l’homme moderne, Ed. Calman-Lévy, Agora Pocket, 406 p.
•
Aspray W. (Ed.) 1990, Computing before Computers, 266 p. disponible à l’adresse
http://www.ed-thelen.org/comp-hist/CBC.html
•
Belevitch V. 1952, Machines mathématiques électroniques, Revue des élèves des Ecoles spéciales de l’Université de Louvain, avril 1952, pp. 111-120.
• Breton Ph. 1990, Une histoire de l’informatique, Editions La découverte, Seuil, Paris, 251 p.
• Carpenter B.E. & Doran R. W. 1975, The other Turing Machine,
Comp. J., vol. 20 n°3, pp. 269-279.
• Ceruzzi P. 1990, Relay Calculators, in Aspray W. Ed.,
Computing before Computers, pp. 200-222.
• Ceruzzi P. 1993, 2003,
A History of Modern Computing, second edition, The MIT Press, Cambridge, Massachusetts, London, England, 445 p.
• d’Udekem-Gevers 2011, La Machine Mathématique IRSIA-FNRS (1946-1962), Académie Royale de Belgique, Mémoire de la Classe des Sciences, t. XXXIII n° 2073, 224 p.
• d’Udekem-Gevers 2018, Syllabus du cours ‘Approche anthropologique de l'informatique’, INFO B113, Faculté d’informatique, Unamur
• Lazard E . & Mounier-Kuhn P. 2016, Histoire illustrée de l’informatique, EDP Sciences, 280 p.
• Lévy, Pierre 1989, L’invention de l’ordinateur, in
Eléments d’Histoire des sciences, sous la direction de Michel Serres, pp. 515-535.
• Marguin J. 1994, Histoire des instruments et machines à calculer, Hermann éditeurs des sciences et des arts, 207 p.
• Randell B. 1982, The Origins of Digital Computers, Third Edition, Springer Verlag, Berlin, Heidelberg, New York, 580 p.
• Randell B. 1994, The Origins of Computer Programming,
IEEE Annals of the History of Computing, vol.16 Issue 4, pp. 6-14.
• Turing A. (1936), On computable numbers, with an application to the Entscheidungsproblem,
Proc. Lond. Math.Soc. 42(2), 230-265.
http://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf
• Von Neumann J. 1945, First Draft of a Report on the EDVAC, pdf disponible à partir de Wikipedia.