Expérimentation Numérique Interactive

Accueil > Expériences en ligne > Algorithme/Informatique > Quand Ada Lovelace inventa la programmation un siècle avant les premiers (…)

Quand Ada Lovelace inventa la programmation un siècle avant les premiers ordinateurs

Explorez opération par opération le tout premier programme informatique, écrit en 1843

Rajouté le mercredi 11 février 2026
Monticelli Marc

La visualisation interactive ci-dessous reproduit le fonctionnement de la Note G écrite par Ada Lovelace constitant le tout premier programme informatique de l’histoire (plus de détails sous la visualisation). Vous pouvez suivre, opération par opération, le cheminement des données entre le Magasin et le Moulin, observer les boucles se dérouler, et voir le résultat B₈ = −1/30 émerger pas à pas.

  • Espace ou  : avancer d’une étape
  •  : reculer
  • A : lecture automatique
  • R : réinitialiser


Qui est Ada Lovelace ? 

Augusta Ada King, comtesse de Lovelace (1815–1852), est la fille du poète Lord Byron et d’Annabella Milbanke. Élevée dans les sciences par sa mère, Ada se passionne très tôt pour les mathématiques.

En 1833, à 17 ans, elle rencontre Charles Babbage, inventeur et mathématicien, qui travaille sur un projet visionnaire : la Machine Analytique, un calculateur mécanique programmable par cartes perforées, inspiré des métiers à tisser Jacquard, un siècle avant les premiers ordinateurs.

Ada saisit immédiatement la portée de l’invention. Là où Babbage voit un calculateur, elle voit un instrument capable de manipuler tout ce qui peut être exprimé par des symboles — nombres, musique, logique. Elle écrit dans la Note A : « La Machine Analytique tisse des motifs algébriques tout comme le métier Jacquard tisse des fleurs et des feuilles ».

La Note G : le premier programme

En 1843, Ada traduit de l’italien un article de Luigi Menabrea décrivant la Machine Analytique. Elle y ajoute sept notes (A à G), trois fois plus longues que l’article original. La dernière, la Note G, contient ce qui est aujourd’hui considéré comme le premier programme informatique de l’histoire.

Ce programme calcule les nombres de Bernoulli, une suite de fractions qui apparaissent dans de nombreux domaines des mathématiques — séries, théorie des nombres, sommes de puissances d’entiers.

Ada choisit délibérément un cas complexe pour démontrer la puissance de la Machine : « Nous terminerons ces Notes en suivant en détail les étapes par lesquelles la machine pourrait calculer les Nombres de Bernoulli, ceci étant un exemple assez compliqué de ses capacités ».

Un algorithme complet et moderne

Le programme de la Note G n’est pas un simple calcul séquentiel. Il introduit des concepts fondamentaux de la programmation :

  • Boucles imbriquées — des opérations qui se répètent selon un compteur, un concept absent de toute machine de l’époque
  • Variables et mémoire — plusieurs « colonnes » du Magasin, numérotées V1 à V24, jouant le rôle de registres
  • Récursivité — chaque nombre de Bernoulli est calculé à partir des précédents
  • Séparation code/données — les « cartes d’opération » (le programme) sont distinctes des « cartes de variables » (les données)

Le programme comporte 25 opérations distinctes, qui se déroulent en 36 étapes une fois les boucles déroulées. Il utilise les quatre opérations arithmétiques et un compteur de boucle stocké en V10.

La Machine Analytique : un ordinateur mécanique

La machine de Babbage, jamais construite de son vivant, comportait deux organes principaux :

  • Le Moulin (the Mill) — l’unité de calcul, équivalent de notre processeur. Il reçoit deux opérandes, exécute une opération (+, −, ×, ÷) et produit un résultat.
  • Le Magasin (the Store) — la mémoire, constituée de colonnes de roues dentées. Chaque colonne stocke un nombre de 50 chiffres décimaux.

Les données circulent entre le Magasin et le Moulin via des engrenages et des axes mécaniques. Le programme, lui, est encodé sur des cartes perforées — une idée empruntée aux métiers Jacquard.

La question de la convention

Un détail qui prête à confusion : Ada utilise une convention de numérotation différente de la nôtre pour les nombres de Bernoulli. Elle ne retient que les valeurs non triviales (en excluant B₀ et B₁ modernes) et les numérote avec des indices impairs :

Ada (1843)ModerneValeur
B₁ (n=1) B₂ 1/6
B₃ (n=2) B₄ −1/30
B₅ (n=3) B₆ 1/42
B₇ (n=4) B₈ −1/30

Son programme, avec n=4, calcule donc ce qu’elle appelle « B₇ », qui correspond à notre B₈ = −1/30.

Un bug historique

Le programme contient un bug — probablement le premier de l’histoire du logiciel. À l’opération nº4, Ada écrit une division V5÷V4 alors qu’il faudrait V4÷V5 : les opérandes sont inversés. Probablement une erreur de typographie plutôt qu’une erreur logique d’Ada, car la colonne « Statement of Results » du même tableau montre bien le bon résultat (contenu de V4 divisé par contenu de V5).


Pour aller plus loin


Simulation réalisée d’après le diagramme original publié dans Scientific Memoirs, vol. III, 1843.

Portfolio

  • Source : https://fr.wikipedia.org/wiki/Ada_Lovelace#/media/Fichier:Diagram_for_t