Note G d'Ada Lovelace : comment fonctionne son « premier programme »
La Note G d'Ada Lovelace explique, en 1843, comment faire exécuter une suite d'instructions à une machine. C'est la naissance concrète de l'algorithme... avant l'ordinateur.
Pour comprendre la Note G, il faut revenir à 1843. Ada Lovelace traduit un article du mathématicien Luigi Menabrea sur l'Engin analytique imaginé par Charles Babbage, puis ajoute de longues notes personnelles. La plus célèbre, baptisée « G », propose un plan détaillé pour faire calculer à la machine une suite de nombres particuliers, les nombres de Bernoulli. Ce plan est souvent présenté comme l'un des premiers « programmes » publiés : non pas du code tel qu'on l'écrit aujourd'hui, mais un enchaînement d'opérations formulé avec une rigueur qui anticipe la logique algorithmique moderne.
Lovelace commence par clarifier ce que ferait, en principe, l'Engin analytique. La machine possède un « mill » (le moulin), où s'effectuent les opérations, et un « store » (le magasin), où sont stockées les valeurs intermédiaires. Les instructions et les données sont introduites par cartes perforées, sur le modèle des métiers Jacquard. Cette séparation entre lieu du calcul et lieu de la mémoire, et cette idée d'un programme inscrit à l'extérieur, sont déjà une petite révolution conceptuelle : elles permettent d'imaginer une machine générale, configurable à volonté.
Le cœur de la Note G est un grand tableau d'opérations. D'une colonne à l'autre, Ada indique quelles quantités la machine doit prendre dans le magasin, quelle opération effectuer dans le moulin, où ranger le résultat et comment le réutiliser ensuite. On n'y lit pas une histoire, mais une méthode : préparer des valeurs initiales, transformer ces valeurs en suivant des règles, contrôler à chaque étape ce qui doit être mémorisé ou effacé. La lecture du tableau fait sentir une idée essentielle de l'informatique : un programme, c'est une recette explicite qui décompose un problème en actes simples, ordonnés et traçables.
Mon travail mathématique implique une imagination considérable.
Pourquoi les nombres de Bernoulli ? Parce qu'ils constituent un excellent test. Ce sont des constantes mathématiques qui apparaissent dans de nombreuses formules d'analyse (sommes de puissances, développements en série) et se prêtent à des calculs récurrents. En choisissant cet exemple, Ada montre comment une machine peut traiter un calcul qui n'est ni trivial ni purement mécanique, en combinant des additions, des multiplications et des substitutions répétées. Elle introduit en plus le principe d'itération : la même portion du « plan » se rejoue plusieurs fois avec des valeurs mises à jour, exactement comme nos boucles d'aujourd'hui. On sent poindre la notion de contrôle de flux : la suite d'opérations n'est pas un bloc figé, elle se règle en fonction de l'état courant des variables.
Ce qui frappe, c'est la façon dont la Note G met en scène la traçabilité. Chaque résultat provisoire est nommé, rangé, repris. On comprend que l'important n'est pas seulement d'obtenir un nombre final, mais de pouvoir suivre le chemin qui y mène. C'est la logique même du débogage moderne : si le résultat est faux, on remonte la chaîne, on inspecte les états mémorisés, on corrige la règle fautive. En 1843, Ada formalise déjà ce réflexe d'ingénieure : un bon programme est celui dont on peut expliquer, après coup, chaque transition.
Ce cerveau qui est le mien est quelque chose de plus que simplement mortel, comme le temps le montrera.
La portée de la Note G dépasse son exemple. En filigrane, Ada pose une thèse audacieuse : si l'on trouve une manière de représenter une chose sous forme de symboles, alors la machine peut, en principe, la manipuler. Les nombres ne sont qu'un cas particulier. La musique, le texte, les formes peuvent devenir calculables dès lors qu'on sait les encoder. Cette intuition ouvre la voie à l'idée d'ordinateur universel, outil symbolique capable de traiter des structures très différentes – une idée qui résonne directement avec nos logiciels contemporains, des traitements de texte aux synthétiseurs, des images calculées aux IA génératives.
La cohérence avec l'effet Matilda tient au crédit. Pendant longtemps, la contribution d'Ada a été présentée comme une simple traduction agrémentée de commentaires, là où la Note G constitue un véritable apport conceptuel : description d'un plan d'exécution, articulation mémoire-calcul, itération, explicitation des états. Le fait que l'Engin analytique n'ait pas été construit a servi d'argument pour minimiser ce travail, comme si une idée n'existait qu'avec son prototype. Or la valeur de la Note G est précisément de montrer que la programmabilité est une question de méthode et de représentation, pas seulement de matériel disponible. Raconter ce texte clairement, c'est réparer une partie de l'invisibilisation.
Pour moi, la religion est la science et la science est la religion.
Pour vulgariser la Note G à un public d'aujourd'hui, on peut la lire comme une recette bien écrite. Les ingrédients sont les valeurs initiales, le plan de cuisine est le tableau d'opérations, la cuisine est le moulin, le garde-manger est le magasin. On suit la recette en vérifiant à chaque étape ce qui doit être mélangé, conservé, jeté ou remis au frais pour plus tard. Si le gâteau ne prend pas, on ne maudit pas la farine : on relit la recette, on corrige la séquence, on ajuste les quantités. C'est cette pédagogie méthodique qu'Ada laisse derrière elle : apprendre à parler à une machine, c'est d'abord apprendre à écrire des instructions claires, traçables et réutilisables.
Au bout du compte, la Note G s'insère naturellement dans l'architecture de tes autres articles. Avec l'analyse de « Radioactive », on a vu combien le crédit peut vaciller si la preuve n'est pas explicitée ; avec « Les oubliées de l'Histoire », on a relié des cas d'invisibilisation à des gestes concrets de réparation. Ici, Ada Lovelace montre comment on fabrique une preuve opératoire : un plan, des états, une exécution. C'est la brique technique qui manquait pour comprendre, de l'intérieur, ce qu'est un programme et pourquoi attribuer correctement son écriture importe autant que le résultat qu'il produit.