Charles Babbage

Le visionnaire des machines à penser

Machine Analytique de Charles Babbage

Le Contexte Historique

Au XIXe siècle, les calculs mathématiques étaient effectués manuellement par des « calculateurs humains ». Les erreurs étaient fréquentes et coûteuses. Babbage rêvait d'une machine capable d'effectuer ces calculs avec une précision absolue grâce à la mécanique et à la vapeur.

La Machine Analytique (1837)

Considérée comme le premier concept d'ordinateur programmable de l'histoire, elle introduisait des idées révolutionnaires :

  • Le Moulin (Mill) : l'unité de calcul (équivalent du CPU)
  • Le Magasin (Store) : la mémoire (équivalent de la RAM)
  • Utilisation de cartes perforées pour programmer la machine (inspiré du métier à tisser de Jacquard)
  • Possibilité de boucles et de prises de décision conditionnelles
Le saviez-vous ?
  • En 1991, une réplique fidèle de la Machine à Différences a été construite et a fonctionné parfaitement, validant le génie de Babbage 150 ans plus tard.
  • Babbage a également inventé le « chasse-bœuf » (cowcatcher) placé à l'avant des locomotives.
  • Il détestait les musiciens de rue qui perturbaient sa concentration !
Apports à l'informatique

Architecture de Von Neumann… avant Von Neumann

En 1837, Babbage décrit une machine dont l'organisation interne préfigure avec une précision troublante l'architecture que John Von Neumann formalisera en 1945. Le Magasin stocke à la fois les données et les instructions — principe fondateur de tout ordinateur moderne. Le Moulin récupère, traite et renvoie les résultats dans le Magasin : c'est le cycle fetch-decode-execute que tout processeur exécute encore aujourd'hui.

Le Moulin (Mill) → CPU / ALU moderne

Effectue les quatre opérations arithmétiques et stocke temporairement les résultats dans des registres mécaniques.

Le Magasin (Store) → RAM moderne

Pouvait conserver jusqu'à 1 000 nombres de 50 chiffres — soit l'équivalent d'environ 16 Ko de données.

Cartes d'opération → Instructions machine

Chaque carte encodait une opération à exécuter. La séquence de cartes constituait littéralement le programme.

Cartes de variables → Adressage mémoire

Spécifiaient quelles colonnes du Magasin lire ou écrire : un système d'adressage 100 ans avant son temps.

Les structures de contrôle : boucles et conditions

Ce qui rend la Machine Analytique réellement révolutionnaire, c'est sa capacité à modifier le déroulement de son propre programme. Babbage prévoyait deux mécanismes fondamentaux que tout développeur reconnaîtra :

  • La boucle (loop) : une séquence de cartes pouvait être répétée un nombre paramétrable de fois — l'ancêtre du for et du while.
  • Le branchement conditionnel : selon le signe d'un résultat intermédiaire, la machine pouvait sauter vers une autre partie du programme — l'ancêtre du if / else.

Ada Lovelace, qui collaborait avec Babbage, rédigea en 1843 le premier algorithme destiné à cette machine : le calcul des nombres de Bernoulli. C'est officiellement le premier programme informatique de l'Histoire.

La Machine à Différences : premiers algorithmes numériques

Avant la Machine Analytique, Babbage conçut la Machine à Différences (1822) pour automatiser le calcul de tables mathématiques par la méthode des différences finies. Cette technique — encore utilisée en analyse numérique — permet d'évaluer des polynômes par simple addition répétée, sans multiplication. C'est en substance le premier algorithme optimisé de l'histoire, pensé pour éviter les opérations coûteuses.

Différences finies Algorithme polynomial Optimisation numérique
Héritage & filiation directe