Charles Babbage
À quoi peuvent servir ces machines ?
Au XIXe siècle, scientifiques, astronomes, ingénieurs et navigateurs utilisent constamment des tables numériques imprimées. Elles donnent des valeurs calculées à l’avance et évitent de recommencer à la main des opérations longues et complexes. Les tables astronomiques et nautiques sont notamment indispensables pour déterminer certaines positions et préparer des calculs de navigation.
Le problème est que leur fabrication exige de très nombreux calculs humains, puis la copie et l’impression des résultats. Une erreur commise à l’une de ces étapes peut donc se retrouver dans la table publiée. Babbage cherche à mécaniser cette chaîne de calcul afin de produire des résultats plus rapidement et avec moins d’erreurs.
Ses machines à différences doivent calculer automatiquement des suites de valeurs grâce à la méthode mathématique des différences finies. Cette technique permet notamment d’évaluer des fonctions polynomiales en utilisant essentiellement des additions.
Une fonction polynomiale est une formule mathématique permettant de calculer une valeur à partir d’un nombre, par exemple f(x) = x² + 2x + 3. De telles fonctions peuvent servir directement ou permettre d’établir certaines tables numériques nécessaires aux sciences et à l’ingénierie. Babbage prévoit également d’automatiser l’impression des résultats afin de limiter les erreurs de transcription.
La machine analytique répond à une ambition très différente. Elle ne doit plus être construite pour une catégorie particulière de tables. Grâce à des instructions fournies notamment par des cartes perforées, elle doit pouvoir enchaîner différentes opérations selon un programme. En changeant les instructions, la même machine pourrait donc résoudre des problèmes différents. C’est cette évolution qui rapproche conceptuellement le projet de Babbage de l’ordinateur programmable.
Fiche rapide
- Naissance : 26 décembre 1791
- Lieu de naissance : Angleterre ; les sources institutionnelles divergent entre Londres et Teignmouth, dans le Devon
- Décès : 18 octobre 1871, Londres
- Domaine : mathématiques, calcul mécanique, ingénierie
- Contributions majeures : Difference Engine No. 1, Analytical Engine, Difference Engine No. 2
- Collaborateurs importants : Joseph Clement, Ada Lovelace
Cambridge et la volonté de réformer les mathématiques
Babbage entre au Trinity College de Cambridge en 1810. Il maîtrise déjà une partie des mathématiques enseignées et se montre insatisfait du retard britannique dans certains domaines du calcul. Avec d’autres étudiants, dont John Herschel et George Peacock, il participe à l’Analytical Society, qui cherche notamment à diffuser en Grande-Bretagne les méthodes et la notation du calcul différentiel utilisées sur le continent européen.
Cette activité n’a pas de lien direct avec la future « machine analytique » malgré la proximité des noms. Elle montre cependant un trait durable de Babbage : son goût pour la formalisation, les méthodes systématiques et l’amélioration des outils scientifiques. Élu membre de la Royal Society en 1816, il devient ensuite une personnalité importante de la communauté scientifique britannique.
En 1828, il est élu à la prestigieuse chaire lucasienne de mathématiques de Cambridge. Mais son activité dépasse largement les mathématiques universitaires. Babbage s’intéresse aux manufactures, aux chemins de fer, aux statistiques, aux instruments scientifiques et, surtout, à la possibilité de confier certaines opérations intellectuelles répétitives à des mécanismes automatiques.
Le problème des tables numériques
Au début du XIXe siècle, l’astronomie, la navigation, l’ingénierie, les assurances et de nombreuses activités scientifiques utilisent de vastes tables numériques. Des calculateurs humains produisent les valeurs, d’autres personnes les recopient et des typographes composent ensuite les pages imprimées. À chacune de ces étapes, une erreur peut se glisser dans le résultat final.
Babbage et John Herschel participent eux-mêmes à la vérification de tables. En 1821, l’accumulation d’erreurs convainc Babbage qu’une machine pourrait automatiser le travail. Son objectif ne consiste donc pas seulement à accélérer l’arithmétique : il veut mécaniser toute la chaîne, du calcul jusqu’à l’impression, afin de réduire les erreurs de calcul, de copie et de composition typographique.
Cette distinction est essentielle. La première ambition de Babbage n’est pas encore de construire un ordinateur universel. Il cherche d’abord une machine spécialisée capable de fabriquer automatiquement des tables mathématiques fiables.
La machine à différences : calculer avec des additions
La première grande réponse de Babbage est la Difference Engine No. 1. Son principe repose sur la méthode des différences finies, qui permet de calculer les valeurs de polynômes par une succession d’additions. Cette propriété est particulièrement intéressante pour une machine mécanique, car l’addition est beaucoup plus simple à réaliser avec des roues dentées que la multiplication ou la division.
Un exemple simple permet de comprendre le principe. Pour les carrés 0, 1, 4, 9, 16…, les premières différences valent 1, 3, 5, 7… et les secondes différences restent constantes à 2. En additionnant successivement ces différences, une machine peut produire les valeurs suivantes sans recalculer directement chaque carré par multiplication.
La machine à différences n’est donc pas un ordinateur généraliste. Elle applique mécaniquement une méthode déterminée à une classe de fonctions. En revanche, Babbage prévoit quelque chose de remarquable : les résultats doivent pouvoir être transmis automatiquement à un mécanisme d’impression, voire à un dispositif destiné à produire des plaques d’impression. Le calcul et sa publication forment ainsi une chaîne automatisée.
Un projet mécanique gigantesque
En 1823, le gouvernement britannique finance la construction d’une grande machine à différences. Babbage travaille avec Joseph Clement, l’un des meilleurs mécaniciens et constructeurs d’outils de précision du pays. Le projet prend cependant une ampleur considérable.
La version de 1830 de la Difference Engine No. 1 doit calculer sur seize chiffres avec six ordres de différences. L’ensemble complet aurait nécessité environ 25 000 pièces et pesé près de quatre tonnes. Les coûts augmentent, la réalisation avance lentement et les relations entre Babbage et Clement se détériorent.
En 1832, Clement livre néanmoins un fragment de démonstration d’environ 2 000 pièces, correspondant à une partie seulement de la section de calcul. Cette portion fonctionne correctement et démontre la validité des principes mécaniques. Mais un conflit financier et organisationnel interrompt la construction au cours de la période 1832–1833. Le gouvernement met définitivement fin au financement en 1842.
1834 : de la machine spécialisée à la machine générale
L’arrêt de la première machine ne met pas fin aux recherches de Babbage. Au contraire, en 1834, il commence à concevoir un système beaucoup plus ambitieux : l’Analytical Engine, ou machine analytique.
Le changement est fondamental. La machine à différences possède une fonction déterminée par sa mécanique. La machine analytique doit, elle, pouvoir effectuer différents calculs en fonction d’une suite d’instructions. Babbage ne conçoit donc plus seulement un mécanisme spécialisé : il imagine une architecture générale dont le comportement dépend du programme qu’on lui fournit.
Ses plans évoluent constamment et il existe plusieurs versions de la machine analytique. Par conséquent, il vaut mieux parler d’un projet architectural en évolution que d’une machine unique dont toutes les caractéristiques auraient été définitivement fixées dès 1834.
Le « Store » et le « Mill » : mémoire et unité de calcul
L’architecture imaginée par Babbage sépare deux ensembles principaux. Le Store, que l’on peut comparer avec prudence à une mémoire, conserve les nombres et les résultats intermédiaires. Le Mill, ou « moulin », exécute les opérations arithmétiques. Des mécanismes assurent les transferts de valeurs entre les deux parties.
Cette séparation entre stockage et traitement constitue l’un des aspects les plus modernes du projet. La machine prévoit aussi plusieurs formes de sortie : impression sur papier, perforation de cartes, tracé graphique et production de supports destinés à fabriquer des plaques d’impression.
Malgré son apparence entièrement mécanique, l’Analytical Engine est une machine numérique décimale au sens où elle manipule des états discrets. Chaque chiffre décimal est représenté par la position d’une roue. Babbage envisage d’autres bases, y compris le binaire, mais retient finalement le système décimal pour des raisons pratiques d’ingénierie et d’usage.
Les cartes perforées : le programme devient extérieur à la mécanique
Pour commander la machine, Babbage reprend le principe des cartes perforées utilisées par les métiers à tisser de Joseph-Marie Jacquard. Dans un métier Jacquard, la succession des cartes détermine le motif produit sans qu’il soit nécessaire de reconstruire le métier. Babbage applique une idée analogue au calcul.
La suite des cartes doit indiquer les opérations à effectuer et participer à l’organisation des données. La machine analytique prévoit également la répétition de séries d’instructions et des formes de branchement conditionnel, c’est-à-dire la possibilité de modifier la suite des opérations en fonction d’un résultat obtenu pendant le calcul.
Ces possibilités sont décisives : un même mécanisme peut exécuter plusieurs traitements selon les cartes qu’on lui fournit. La machine devient ainsi programmable. En revanche, elle n’est pas un ordinateur à programme enregistré au sens des machines électroniques développées un siècle plus tard : les instructions restent portées par les cartes et ne partagent pas la mémoire interne avec les données.
Une machine mécanique qui ressemble étrangement à un ordinateur
Employer le vocabulaire informatique moderne pour une machine du XIXe siècle exige de la prudence. Pourtant, les analogies sont réelles. Le Store rappelle la mémoire, le Mill l’unité de traitement, les cartes fournissent données et instructions, tandis que différents dispositifs prennent en charge les sorties.
Surtout, la présence de boucles et de branchements conditionnels permet d’organiser des calculs dont le déroulement ne se réduit pas à une suite fixe d’opérations. C’est cette logique générale, davantage que les engrenages eux-mêmes, qui fait de la machine analytique une étape majeure dans l’histoire du calcul programmable.
Il ne faut cependant pas la décrire comme un PC moderne construit en laiton avec un siècle d’avance. Son organisation, son mode de programmation, sa technologie et son fonctionnement restent profondément liés au monde mécanique du XIXe siècle. L’intérêt historique réside précisément dans les ressemblances et dans les différences.
Ada Lovelace : expliquer ce que la machine pourrait faire
Babbage rencontre Ada Lovelace en 1833. La jeune mathématicienne s’intéresse profondément à ses machines et devient l’une des personnes capables de comprendre la portée de l’Analytical Engine.
En 1840, Babbage présente son projet à Turin. L’ingénieur italien Luigi Federico Menabrea publie ensuite en français un compte rendu de ces conférences. Lovelace traduit ce texte en anglais et lui ajoute en 1843 une série de Notes beaucoup plus longues que l’article original.
Ses Notes expliquent la logique de la machine, l’organisation des cartes et plusieurs procédures de calcul. La célèbre Note G décrit notamment le traitement des nombres de Bernoulli. Elle est souvent présentée comme le premier programme informatique publié, même si les historiens discutent l’emploi de ce terme moderne et la répartition exacte des contributions entre Lovelace et Babbage.
La contribution la plus originale de Lovelace tient aussi à sa vision des usages : elle comprend explicitement qu’une telle machine pourrait manipuler des symboles représentant autre chose que de simples quantités. Babbage apporte l’architecture et les mécanismes ; Lovelace contribue puissamment à en expliciter la logique et la portée.
Pourquoi Babbage n’a-t-il pas réussi à construire ses machines ?
La réponse ne se résume pas à « la technologie de l’époque était insuffisante ». La précision mécanique constitue certes un défi, mais les difficultés sont aussi financières, politiques et humaines. Les coûts du premier projet explosent, le conflit avec Joseph Clement paralyse la construction et la confiance du gouvernement s’érode.
Babbage contribue lui-même à cette situation. Perfectionniste, il modifie régulièrement ses conceptions et passe à la machine analytique alors que la première machine à différences reste inachevée. Ses relations avec les institutions et certains responsables scientifiques deviennent souvent conflictuelles. Pour les financeurs publics, le projet apparaît de plus en plus coûteux et sans résultat complet immédiatement exploitable.
Quant à l’Analytical Engine, sa complexité dépasse encore largement celle du premier projet. Babbage continue à en modifier et documenter les plans jusqu’à la fin de sa vie, mais ne dispose jamais du financement nécessaire pour réaliser la machine entière.
Difference Engine No. 2 : la machine construite 150 ans plus tard
Entre 1847 et 1849, Babbage revient au principe des différences et conçoit la Difference Engine No. 2. Les travaux menés sur l’Analytical Engine lui permettent de simplifier fortement la mécanique. La nouvelle machine doit calculer des nombres de 31 chiffres et tabuler des polynômes jusqu’au septième ordre avec environ 8 000 pièces.
Babbage ne tente pas de la construire. Plus d’un siècle plus tard, le Science Museum de Londres entreprend cependant de réaliser la machine à partir de ses dessins. Le projet, dirigé par Doron Swade, commence en 1985. La section de calcul est achevée en 1991 et le dispositif d’impression et de stéréotypie en 2002.
Le résultat est capital pour l’évaluation historique de Babbage : la machine fonctionne comme prévu. Les constructeurs veillent en outre à ne pas employer une précision supérieure à celle accessible au XIXe siècle. Cette expérience montre que les limites de fabrication de l’époque n’expliquent pas à elles seules l’échec du projet original.
Un inventeur bien au-delà des machines à calculer
Babbage ne se limite pas au calcul. Il participe à la création de plusieurs institutions scientifiques britanniques, s’intéresse aux statistiques, aux manufactures et à l’organisation industrielle, et imagine de nombreux dispositifs mécaniques. Cette activité reflète une même conviction : la science et la mécanisation peuvent améliorer des processus jusque-là dépendants du travail manuel et de l’expérience individuelle.
Lorsqu’il meurt à Londres le 18 octobre 1871, aucune de ses grandes machines n’a été achevée. Ses archives conservent toutefois une quantité exceptionnelle de dessins, de notations et de carnets. Leur étude détaillée au XXe siècle, puis la construction du Difference Engine No. 2, permettent de mesurer avec beaucoup plus de précision l’ampleur de son travail.
Pourquoi Charles Babbage est une figure majeure
- Automatisation du calcul : il cherche à éliminer les erreurs humaines en mécanisant non seulement le calcul, mais aussi la production des tables imprimées.
- Machine à différences : il conçoit une machine spécialisée capable d’exploiter mécaniquement la méthode des différences finies.
- Machine analytique : il passe du calculateur spécialisé à l’idée d’une machine générale dont le comportement dépend d’instructions.
- Architecture : son Store et son Mill préfigurent la séparation entre stockage et traitement, tandis que la machine prévoit plusieurs dispositifs d’entrée et de sortie.
- Programmation : les cartes perforées, les répétitions et les branchements conditionnels permettent d’envisager des procédures complexes sans modifier la mécanique.
- Validation tardive : la construction du Difference Engine No. 2 par le Science Museum a confirmé la viabilité mécanique d’au moins l’un de ses grands projets.
- Importance conceptuelle : son œuvre anticipe plusieurs principes fondamentaux de l’ordinateur tout en restant historiquement distincte de la révolution électronique du XXe siècle.
Repères chronologiques
- 1791 : naissance de Charles Babbage le 26 décembre
- 1810 : entrée au Trinity College de Cambridge
- 1811 : participation à la création de l’Analytical Society
- 1816 : élection à la Royal Society
- 1821 : formulation du projet d’automatiser la production de tables numériques
- 1822 : réalisation d’un petit modèle expérimental de machine à différences
- 1823 : début du projet de grande Difference Engine financé par le gouvernement britannique
- 1832 : achèvement du fragment de démonstration de la Difference Engine No. 1
- 1832–1833 : arrêt de la construction après le conflit avec Joseph Clement
- 1833 : rencontre avec Ada Lovelace
- 1834 : début de la conception de l’Analytical Engine
- 1840 : présentation de la machine analytique à Turin
- 1842 : abandon définitif du financement public de la Difference Engine No. 1
- 1843 : publication de la traduction de Menabrea et des Notes d’Ada Lovelace
- 1847–1849 : conception de la Difference Engine No. 2
- 1871 : décès de Charles Babbage à Londres
- 1991 : achèvement au Science Museum de la section de calcul de la Difference Engine No. 2
- 2002 : achèvement de son système d’impression et de stéréotypie
Illustration de couverture : portrait de Charles Babbage généré par intelligence artificielle avec ChatGPT (OpenAI), d’après une photographie historique du XIXe siècle.
