Nous poursuivons notre série sur l’histoire de l’informatique, qui a commencé par vous faire découvrir le mécanisme d’anticythère, soit le premier ordinateur analogique, puis l'utilisation de cartes perforées pour les métiers à tisser. Dans ce nouvel article, nous vous expliquons comment Charles Babbage a créé le moteur de différence, un ordinateur mécanique qui a conduit au premier programme informatique au monde écrit par programmeuse !
Au début des années 1800, les ordinateurs étaient des personnes qui effectuaient des calculs à la main. Ces calculs ont été publiés sous forme de tableaux ou utilisés dans des graphiques ou des almanachs. Cela a créé beaucoup d'erreurs.
En 1819, Babbage a commencé à travailler sur son premier « moteur de différence », le moteur de différence 0. Il s'agissait d'une machine décimale à manivelle. Il acheva sa construction en 1822. La même année, il présenta à la Royal Astronomical Society une communication intitulée « Note sur l'application des machines au calcul des tables astronomiques et mathématiques ». Le gouvernement britannique s'y est intéressé, car produire des tableaux automatiquement serait à la fois moins cher et plus rapide que de les produire manuellement.
Le moteur de différence
À partir de 1823, Babbage travaille avec Joseph Clément, un fabricant bien connu de machines de précision. La machine finie aurait compté environ 25 000 pièces, mesuré 2,4 mètres de haut et pesé 13’600 kilos.
La machine fonctionnait en utilisant des fonctions polynomiales, c'est-à-dire un système qui utilise des variables et des coefficients, et des fonctions mathématiques simples comme l'addition, la soustraction et la multiplication. Il l'a fait en appliquant un algorithme appelé « différences divisées ».
La machine se composait d'une série de colonnes, chacune représentant une valeur numérique avec chaque colonne montrant une partie du résultat du calcul. Il a été conçu pour effectuer des calculs avec seize chiffres et six ordres de grandeur, c'est-à-dire une plage comprise entre un et un million, ou un millier et un milliard. Babbage avait prévu une imprimante automatisée pour la sortie.
Babbage avait une personnalité quelque peu agaçante, irritante, énervante qui a conduit à des brouilles avec l'astronome royal, George Bidell Airy, et plus tard avec son ingénieur, Joseph Clement. Les coûts de la machine ont continué d'augmenter avec peu de choses à montrer. C'est en partie parce que Babbage rêvait d'une machine plus avancée, mais en 1842, le financement gouvernemental a été coupé, après avoir dépensé £17’000 (plus de £3,3 millions aujourd'hui).
Le moteur analytique
Sa prochaine machine se serait appelée le moteur analytique et elle devait être d'une complexité beaucoup plus grande. Au lieu de calculs automatisés, le moteur analytique était un système programmable. Il comportait des éléments présents dans les systèmes modernes – mémoire (appelée stockage), branchement conditionnel, boucles et unité arithmétique (appelée moulin). La machine utilisait deux ensembles de lecteurs de cartes perforées pour la saisie des données et des instructions, et pouvait produire les résultats à l'aide d'une perforatrice, d'une imprimante automatique, d'un traceur pour les courbes et d'une cloche (probablement pour alerter l'opérateur qu'un processus était terminé).
La machine, comme le modèle précédent, était basée sur des calculs décimaux (base dix). Le moulin lui-même utilisait une collection de barils rotatifs avec des chevilles montées dessus pour ses changements d'état internes et sa gestion. Le magasin avait la capacité de contenir jusqu'à mille numéros à quarante chiffres. Il avait été programmé dans un langage de bas niveau - similaire à la façon dont le langage d'assemblage est utilisé aujourd'hui. L'ensemble de la machine aurait été propulsé par une machine à vapeur.
Entre 1837 et 1840, Babbage a écrit une vingtaine de programmes traitant des fonctions polynomiales, résolvant des équations linéaires et diverses autres fonctions mathématiques. Le mathématicien italien Luigi Federico Menabrea a écrit l'article « Sketch of the Analytical Engine Invented by Charles Babbage, Esq. » en français en 1842, et cela a été traduit et annoté par la fille de Lady Byron, Ada Lovelace. Dans ses notes, elle ajoute une méthode de calcul des nombres de Bernoulli qui est considérée comme le premier programme informatique complet, faisant d'Ada Lovelace la première programmeuse informatique.
Ce projet ambitieux n'a jamais vraiment décollé. Plus tard dans sa vie, Babbage a tenté de créer une version simplifiée de sa machine, mais est décédé en 1871 avant de pouvoir construire plus qu'une petite pièce. Ada Lovelace, plus tard Lady King, est décédée en 1852 à l'âge de 36 ans.
Il y a eu quelques tentatives pour construire le moteur après la mort de Babbage. Son fils, Henry Prevost Babbage a essayé entre 1880 et 1910, mais avec peu de résultats. Malheureusement, il n'y a eu aucune tentative de construire cette invention miraculeuse depuis. Nous pouvons espérer et attendre.
La raison pour laquelle Ada Lovelace s'est tellement concentrée sur les mathématiques et les sciences était que son père était le célèbre poète romantique, Lord Byron, qui s'est séparé de sa mère quand elle avait un mois et est décédé quand elle en avait huit. L'une de ses nombreuses amantes, Lady Caroline Lamb, l'a décrit comme "fou, mauvais et dangereux à connaître" ("mad, bad and dangerous to know") après leur première rencontre. Sa mère, Lady Byron, l'a encouragée en mathématiques et en logique pour éviter la folie potentiellement héritée de son père.
Articles du même auteur :
Histoire de l’informatique : I. Le mécanisme d’Anticythère
Histoire de l’informatique : II. Monsieur Jacquard et ses cartes magiques
Photo credit :
See page for author, CC BY 4.0, via Wikimedia Commons ;
Canticle at English Wikipedia, CC BY-SA 3.0, via Wikimedia Commons ;
Marcin Wichary from San Francisco, U.S.A., CC BY 2.0, via Wikimedia Commons ;
Original watercolor portrait (Ada lovelace.jpg): Alfred Edward ChalonWoodcut-style graphic (Ada Lovelace.tif): Colin Adams, for the Ada InitiativeSVG conversion (Ada Lovelace.svg): Fred the OysterColorization: Kaldari, CC0, via Wikimedia Commons