Charles Babbage
Le visionnaire des machines à penser
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
- 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 !
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.
Effectue les quatre opérations arithmétiques et stocke temporairement les résultats dans des registres mécaniques.
Pouvait conserver jusqu'à 1 000 nombres de 50 chiffres — soit l'équivalent d'environ 16 Ko de données.
Chaque carte encodait une opération à exécuter. La séquence de cartes constituait littéralement le programme.
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
foret duwhile. - 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.
-
1843
Ada Lovelace — premier programme Collaboratrice de Babbage, elle publie le premier algorithme formel de l'Histoire et prédit que la machine pourrait composer de la musique ou traiter des symboles abstraits — anticipant les langages de haut niveau.
-
1890
Herman Hollerith — cartes perforées industrielles S'inspire directement du principe de Babbage pour mécaniser le recensement américain. Sa société deviendra IBM en 1924.
-
1937
Alan Turing — machine universelle La Machine de Turing formalise mathématiquement ce que Babbage avait pressenti mécaniquement : une machine unique capable d'exécuter n'importe quel algorithme selon ses instructions.
-
1945
John Von Neumann — architecture standard Son rapport sur l'EDVAC décrit une organisation (unité de calcul + mémoire + entrées/sorties) qui reprend point par point les idées de Babbage, désormais réalisables grâce à l'électronique.