La machine à différences : automatiser les calculs avant l'ordinateur
Comprenez le fonctionnement de la machine à différences de Charles Babbage, son usage des différences finies et la reconstruction réalisée par le Science Museum.
Publié le 31 juillet 2026Mis à jour le 7 août 2026Lecture : 13 minPar Équipe Bethemesh
Au début du XIXe siècle, bien avant l’électronique et les premiers
ordinateurs, les scientifiques, ingénieurs, navigateurs et astronomes
dépendent de longues tables numériques pour effectuer leurs calculs. Ces
tables sont indispensables, mais leur fabrication repose sur un travail
humain lent et sujet aux erreurs.
Le mathématicien britannique Charles
Babbage imagine alors une solution
radicale : construire une machine capable de calculer automatiquement
les valeurs d’une table et, à terme, de les imprimer sans intervention
humaine.
Cette machine, connue sous le nom de machine à différences
(Difference Engine), ne sera pas achevée de son vivant dans sa
première version. Pourtant, son principe est parfaitement réalisable.
Plus d’un siècle plus tard, une reconstruction réalisée à partir des
plans de Babbage démontrera que son projet pouvait effectivement
fonctionner.
La machine à différences constitue ainsi une étape essentielle entre les
anciennes machines à calculer mécaniques et l’idée beaucoup plus
ambitieuse de l’ordinateur programmable.
Quand les calculs étaient faits à la main
Au début des années 1800, de nombreux domaines scientifiques et
techniques utilisent des tables mathématiques.
Elles permettent par exemple de connaître rapidement des logarithmes,
des fonctions trigonométriques ou des valeurs utiles à l’astronomie et à
la navigation.
Ces tables évitent de refaire à chaque utilisation des calculs longs et
complexes.
Mais leur production pose un problème.
Les valeurs doivent être calculées par des personnes, puis recopiées,
composées et imprimées. Chaque étape peut introduire une erreur.
Une simple faute de chiffre dans une table destinée à la navigation peut
avoir des conséquences importantes.
À cette époque, le mot anglais computer ne désigne d’ailleurs pas
encore une machine au sens moderne. Il peut désigner une personne
chargée d’effectuer des calculs.
Babbage est confronté à ces tables et à leurs imperfections. Une idée
s’impose progressivement : si les calculs sont répétitifs et suivent des
règles précises, pourquoi ne pas les confier à une machine ?
Charles Babbage et l’idée d’automatiser les tables
Charles Babbage est mathématicien, inventeur et membre de la Royal
Society.
Au début des années 1820, il travaille sur la production de tables
mathématiques avec l’astronome John Herschel.
La quantité d’erreurs qu’ils rencontrent le convainc de l’intérêt d’une
automatisation.
En 1822, Babbage présente à la Royal Astronomical Society un projet de
machine destinée à calculer des tables grâce à une méthode mathématique
appelée méthode des différences finies.
L’idée attire l’attention du gouvernement britannique.
À partir de 1823, l’État accepte de financer le développement d’une
machine beaucoup plus ambitieuse : ce que l’on appellera plus tard la
Difference Engine No. 1.
Le projet est exceptionnel pour l’époque.
Il ne s’agit pas simplement d’une petite calculatrice de bureau. Babbage
envisage une imposante machine mécanique composée de milliers de pièces
de précision.
Pourquoi « machine à différences » ?
Le nom vient de la méthode mathématique utilisée pour simplifier les
calculs : les différences finies.
Le principe est particulièrement ingénieux parce qu’il permet de
calculer certaines fonctions polynomiales en utilisant essentiellement
des additions.
Prenons une suite très simple :
1, 4, 9, 16, 25
Il s’agit des carrés des nombres entiers :
(1^2, 2^2, 3^2, 4^2, 5^2)
Calculons maintenant la différence entre chaque valeur :
3, 5, 7, 9
Puis les différences entre ces différences :
2, 2, 2
La seconde différence est constante.
Cela signifie que l’on peut générer les valeurs suivantes en répétant
uniquement des additions.
À partir de 25, de la différence 9 et de la seconde différence 2 :
la prochaine première différence devient 9 + 2 = 11 ;
la prochaine valeur devient 25 + 11 = 36.
Puis :
11 + 2 = 13 ;
36 + 13 = 49.
Nous retrouvons bien (6^2 = 36) puis (7^2 = 49).
Pour des fonctions plus complexes, il faut davantage de niveaux de
différences, mais le principe reste similaire.
Pourquoi cette méthode est-elle idéale pour une machine mécanique ?
Les multiplications et divisions sont relativement difficiles à réaliser
avec un mécanisme du XIXe siècle.
Les additions sont beaucoup plus simples.
Grâce aux différences finies, Babbage peut donc transformer le calcul de
nombreux polynômes en une succession systématique d’additions.
La machine n’a pas besoin de « comprendre » la formule mathématique.
Elle doit seulement :
conserver plusieurs valeurs ;
les additionner selon un ordre déterminé ;
propager les retenues ;
répéter le processus.
C’est précisément le type de tâche qu’un mécanisme d’engrenages peut
effectuer.
Cette séparation entre un problème mathématique complexe et une suite
d’opérations élémentaires préfigure une idée fondamentale de
l’informatique : décomposer un calcul en instructions simples qu’une
machine peut exécuter mécaniquement.
Des colonnes de roues dentées pour représenter les nombres
La machine à différences est entièrement mécanique.
Les nombres sont représentés par des roues décimales.
Chaque roue peut prendre dix positions correspondant aux chiffres de 0 à
9.
Plusieurs roues superposées permettent de représenter un nombre
comportant plusieurs chiffres.
Lorsqu’une roue passe de 9 à 0, une retenue doit être transmise à la
position suivante, exactement comme lorsque nous effectuons une addition
sur papier.
Mais dans une grande machine comportant de nombreux chiffres, la gestion
des retenues devient un défi mécanique majeur.
Babbage conçoit des mécanismes permettant de les propager de manière
coordonnée.
La machine doit être précise : un petit jeu mécanique répété sur des
centaines ou des milliers de composants pourrait finir par produire un
résultat incorrect ou bloquer le mécanisme.
Une ambition qui dépasse le simple calcul
Babbage ne veut pas seulement automatiser les opérations mathématiques.
Il souhaite également supprimer les erreurs qui peuvent apparaître
après le calcul.
À quoi servirait une machine produisant des résultats exacts si un
opérateur les recopiait ensuite incorrectement ?
Son projet prévoit donc de mécaniser également la production du
résultat.
La machine devait pouvoir préparer les valeurs pour l’impression,
notamment au moyen de plaques ou de dispositifs permettant d’éviter une
nouvelle transcription manuelle.
L’objectif était remarquable : automatiser une chaîne allant du calcul
jusqu’à la publication de la table.
Dans une perspective moderne, cela ressemble déjà à un véritable
traitement automatisé de données : une entrée, une série d’opérations et
une sortie produite sans ressaisie humaine.
Difference Engine No. 1 : un projet gigantesque
La première grande machine imaginée par Babbage est aujourd’hui appelée
Difference Engine No. 1.
Le gouvernement britannique finance le projet et Babbage travaille
notamment avec l’ingénieur et fabricant d’outils Joseph Clement.
La construction exige une précision mécanique exceptionnelle pour
l’époque.
Une partie du mécanisme est effectivement réalisée.
Mais le projet devient progressivement plus coûteux, plus lent et plus
difficile à gérer.
Babbage modifie également certains aspects de ses plans au fur et à
mesure que ses idées évoluent.
Les relations avec Clement se détériorent et la construction finit par
s’arrêter.
En 1842, après avoir dépensé une somme considérable, le gouvernement
britannique met définitivement fin au financement.
La première machine à différences complète ne verra donc jamais le jour
du vivant de Babbage.
Pourquoi le projet a-t-il échoué ?
Il serait tentant de conclure que la machine était simplement impossible
à construire avec les technologies de l’époque.
L’histoire est plus nuancée.
Plusieurs facteurs se combinent :
le coût très élevé du projet ;
la nécessité de fabriquer de nombreuses pièces avec une grande
précision ;
les difficultés d’organisation et de gestion ;
les désaccords entre Babbage et Joseph Clement ;
les évolutions constantes de la conception ;
l’intérêt croissant de Babbage pour une machine encore plus
ambitieuse.
Le problème n’était donc pas uniquement technique.
Babbage était un inventeur exceptionnel, mais la conduite d’un immense
projet industriel financé par l’État exigeait également une stabilité de
conception, une organisation et une maîtrise des coûts particulièrement
difficiles à obtenir.
Alors que la machine à différences n’est pas terminée, Babbage commence
à réfléchir à une machine beaucoup plus générale.
La Difference Engine est spécialisée.
Elle sait effectuer un type de traitement mathématique déterminé :
calculer des tables par la méthode des différences.
Babbage imagine désormais une machine qui pourrait exécuter
différentes suites d’opérations selon les instructions qu’on lui
fournit.
Ce nouveau projet devient la machine analytique (Analytical
Engine).
La différence est fondamentale.
La machine à différences automatise un calcul particulier.
La machine analytique ambitionne d’être programmable.
Babbage prévoit notamment une unité de calcul, une mémoire, des
mécanismes de contrôle et l’utilisation de cartes
perforées pour fournir des instructions.
C’est dans ce contexte qu’Ada Lovelace
étudiera la machine analytique et rédigera ses célèbres notes, dont un
algorithme destiné au calcul des nombres de Bernoulli.
La machine à différences est donc importante non seulement pour ce
qu’elle devait accomplir, mais aussi parce qu’elle a conduit Babbage
vers une conception beaucoup plus proche de l’ordinateur moderne.
Difference Engine No. 2 : une conception améliorée
Babbage n’abandonne pas complètement l’idée de la machine à différences.
Entre 1847 et 1849, il conçoit une seconde version, aujourd’hui appelée
Difference Engine No. 2.
Cette nouvelle machine bénéficie de l’expérience acquise lors de ses
travaux sur la machine analytique.
La conception est plus élégante et nécessite beaucoup moins de pièces
que la première version tout en étant capable d’effectuer des calculs
très importants.
Mais elle ne sera pas construite de son vivant.
Les plans resteront sur le papier pendant plus d’un siècle.
C’est précisément cette seconde version qui permettra, bien plus tard,
de répondre à une question historique essentielle :
les plans de Babbage pouvaient-ils réellement fonctionner ?
Le Science Museum relève le défi
À partir des années 1980, le Science Museum de Londres entreprend
d’étudier en détail les plans de Difference Engine No. 2.
Sous la direction de Doron Swade, une équipe décide de construire la
machine en respectant autant que possible les dessins de Babbage.
Le projet présente un intérêt historique considérable.
Si la machine fonctionne, cela montre que les principes de Babbage
étaient mécaniquement réalisables.
Si elle échoue à cause d’erreurs fondamentales dans les plans,
l’histoire serait différente.
En 1991, à l’occasion du bicentenaire de la naissance de Babbage, le
Science Museum achève la partie calculatrice de Difference Engine
No. 2.
La machine fonctionne.
Elle calcule effectivement des valeurs à l’aide de la méthode des
différences.
Et l’imprimante ?
Babbage avait également conçu un mécanisme de sortie permettant
d’imprimer automatiquement les résultats.
Le Science Museum poursuit donc le projet.
En 2000, l’imprimante correspondant à la machine est achevée.
Elle permet non seulement d’imprimer les résultats sur papier, mais
aussi de produire des plaques destinées à l’impression.
Ce détail confirme la portée de l’ambition originale de Babbage.
Il ne cherchait pas seulement à accélérer un calcul.
Il voulait éliminer les erreurs humaines tout au long de la chaîne,
depuis le calcul jusqu’à la reproduction du résultat.
La reconstruction prouve-t-elle que la machine aurait pu être construite au XIXe siècle ?
La reconstruction moderne est souvent présentée comme la preuve que
Babbage avait « raison ».
C’est globalement vrai sur le plan conceptuel, mais il faut apporter une
nuance.
Le Science Museum a construit la machine avec des moyens modernes de
fabrication, même si l’objectif était de respecter les tolérances que
l’industrie victorienne aurait pu atteindre.
La réussite démontre surtout que la conception mécanique de Babbage
était cohérente et fonctionnelle.
Elle ne prouve pas que la construction d’une machine complète aurait été
simple, économique ou réaliste dans les conditions exactes du projet
initial.
La fabrication de milliers de pièces précises, leur assemblage et leur
maintenance représentaient un défi industriel considérable.
Le génie de la conception et les difficultés pratiques du projet peuvent
donc être vrais en même temps.
Une machine décimale, pas binaire
Les ordinateurs modernes représentent généralement l’information à
l’aide de bits et travaillent avec le système binaire.
La machine de Babbage fonctionne différemment.
Elle est décimale.
Ses roues représentent directement les chiffres de 0 à 9.
Cela rappelle que le binaire n’est pas une condition obligatoire pour
construire une machine de calcul.
Le choix de la représentation dépend de la technologie utilisée.
Pour un dispositif mécanique constitué de roues dentées, représenter dix
positions décimales pouvait être naturel.
Les ordinateurs électroniques adopteront massivement le binaire parce
que deux états physiques distincts sont particulièrement pratiques à
représenter avec des circuits électroniques.
La machine à différences était-elle un ordinateur ?
La réponse dépend de ce que l’on appelle un ordinateur.
La machine à différences est capable :
de représenter des nombres ;
d’effectuer automatiquement des opérations ;
de conserver des valeurs intermédiaires ;
d’enchaîner des calculs ;
de produire des résultats.
Mais elle n’est pas une machine généraliste programmable comme un
ordinateur moderne.
Son mécanisme est conçu pour appliquer une méthode particulière.
Il est donc plus précis de la décrire comme une machine de calcul
automatique spécialisée.
La machine analytique imaginée plus tard par Babbage franchira une étape
conceptuelle supplémentaire en introduisant l’idée d’une machine pouvant
suivre différents programmes.
De la table numérique au pipeline automatisé
La machine à différences illustre une idée qui reste étonnamment moderne
: lorsqu’un processus répétitif comporte plusieurs étapes susceptibles
de produire des erreurs, on peut chercher à automatiser toute la
chaîne.
Le problème de Babbage ne se limitait pas au calcul.
Il concernait :
la production des valeurs ;
leur transcription ;
leur mise en forme ;
leur impression.
Chaque intervention humaine supplémentaire créait une possibilité
d’erreur.
Son objectif était donc de faire circuler le résultat d’une étape vers
la suivante sans ressaisie.
Cette logique se retrouve aujourd’hui dans les scripts, les chaînes de
traitement de données et les pipelines logiciels : automatiser non
seulement une opération, mais le passage complet d’une donnée à travers
plusieurs transformations.
Les technologies ont changé. Le problème fondamental, lui, reste
familier.
Pourquoi la machine à différences est-elle importante ?
La machine à différences n’a pas révolutionné immédiatement l’industrie.
Elle n’a même pas été achevée dans sa première version.
Son importance est surtout historique et conceptuelle.
Elle montre qu’au début du XIXe siècle, il était déjà possible
d’imaginer :
un calcul complexe décomposé en opérations élémentaires ;
une exécution automatique de ces opérations ;
une mémoire mécanique pour conserver des valeurs ;
une propagation automatique des retenues ;
une production mécanique des résultats ;
une chaîne conçue pour réduire les erreurs humaines.
Elle constitue également une étape déterminante dans le parcours
intellectuel de Charles Babbage.
En cherchant à automatiser la production de tables, il finit par se
demander si une machine pourrait être conçue non plus pour un seul
calcul, mais pour de nombreux calculs différents.
Cette question conduira directement au projet de machine analytique.
À retenir
La machine à différences de Charles Babbage naît d’un problème très
concret : les tables mathématiques du XIXe siècle sont indispensables,
mais leur calcul et leur impression manuels produisent des erreurs.
Babbage propose de mécaniser le processus.
Son idée repose sur plusieurs principes essentiels :
utiliser la méthode des différences finies pour remplacer des
calculs complexes par des additions ;
représenter les nombres à l’aide de roues mécaniques ;
automatiser l’enchaînement des opérations ;
conserver les valeurs intermédiaires ;
automatiser également la sortie afin d’éviter les erreurs de
transcription.
La première grande machine ne sera jamais terminée.
Mais les plans ultérieurs de Difference Engine No. 2 permettront au
Science Museum de construire une machine fonctionnelle plus d’un siècle
après la mort de Babbage.
Cette réussite montre que son projet n’était pas une simple fantaisie
impossible.
Surtout, les difficultés et les possibilités découvertes lors de cette
aventure pousseront Babbage vers une idée encore plus ambitieuse : la
machine analytique, l’un des grands ancêtres conceptuels de
l’ordinateur programmable.
Questions fréquentes
À quoi devait servir la machine à différences ?
Elle devait calculer automatiquement des tables mathématiques, notamment
des valeurs de fonctions pouvant être obtenues grâce à la méthode des
différences finies, puis contribuer à produire ces résultats sans les
erreurs liées aux calculs et recopies manuels.
Pourquoi utilise-t-elle la méthode des différences finies ?
Cette méthode permet de calculer les valeurs de certains polynômes en
utilisant essentiellement des additions. Les additions étant plus
simples à réaliser mécaniquement que les multiplications ou divisions,
elle était particulièrement adaptée à la machine.
Charles Babbage a-t-il terminé sa machine à différences ?
Non. Difference Engine No. 1 n’a jamais été achevée. Babbage a ensuite
conçu une seconde version améliorée, Difference Engine No. 2, qui est
elle aussi restée sur le papier de son vivant.
Une machine à différences de Babbage a-t-elle finalement été construite ?
Oui. Le Science Museum de Londres a construit Difference Engine No. 2 à
partir des plans de Babbage. La partie calculatrice a été achevée en
1991 et son mécanisme d’impression en 2000. La machine fonctionne.
La machine à différences était-elle programmable ?
Pas au sens d’un ordinateur généraliste moderne. Elle était conçue pour
automatiser un type particulier de calcul. Le projet suivant de Babbage,
la machine analytique, introduira une conception beaucoup plus générale
et programmable.
Quel lien existe-t-il entre la machine à différences et Ada Lovelace ?
Ada Lovelace est surtout associée à la machine analytique, le projet
plus ambitieux que Babbage développe après ses travaux sur la machine à
différences. Ses notes sur cette machine contiennent notamment une
méthode destinée à calculer les nombres de Bernoulli.
Découvrez Charles Babbage, ses machines à différences, son projet de machine analytique et l'héritage de celui que l'on considère comme l'un des pères de l'informatique.
Découvrez la vie d'Ada Lovelace, sa collaboration avec Charles Babbage, son algorithme pour la machine analytique et l'héritage de celle que l'on présente souvent comme la première programmeuse.
Découvrez comment les cartes perforées ont contrôlé des métiers à tisser, inspiré Charles Babbage puis servi à programmer et traiter des données pendant plus d’un siècle.