Ada Lovelace

Introduction


Ada Lovelace, de son nom complet Augusta Ada King, comtesse de Lovelace, née Ada Byron le 10 décembre 1815 à Londres et morte le 27 novembre 1852 à Marylebone dans la même ville, est une pionnière de la science informatique.

Elle est principalement connue pour avoir réalisé le premier véritable programme informatique, lors de son travail sur un ancêtre de l'ordinateur : la machine analytique de Charles Babbage. Dans ses notes, on trouve en effet le premier programme publié, destiné à être exécuté par une machine, ce qui fait d'Ada Lovelace la première personne à avoir programmé au monde. Elle a également entrevu et décrit certaines possibilités offertes par les calculateurs universels, allant bien au-delà du calcul numérique et de ce qu'imaginaient Babbage et ses contemporains.


Biographie


Environnement familial


Ada était la seule fille légitime du poète George Gordon Byron et de son épouse Annabella Milbanke, une femme intelligente et cultivée, cousine de Caroline Lamb, dont la liaison avec Byron fut à l'origine d'un scandale.

Byron recherchait une femme dont la fortune paierait ses dettes. Lady Melbourne lui suggère sa propre nièce, miss Milbanke, mais celle-ci refuse dans un premier temps. Cette union est ensuite encouragée par Augusta Leigh, la demi-sœur de Byron, et Byron épouse Annabella en janvier 1815.

Ada naît en décembre de cette même année. Le premier prénom d'Ada, Augusta, aurait été choisi en hommage à Augusta avec qui Byron aurait eu des relations incestueuses. Le prénom Ada aurait été choisi par Byron lui-même, car il était « court, antique et vocalique ».

À la suite de quatre tentatives de viol en état d'ivresse de la part de Byron, Annabella quitte Byron le 16 janvier 1816, gardant Ada avec elle. Le 21 avril, Byron signe l'acte de séparation, puis quitte le Royaume-Uni pour toujours. Il ne les revit jamais.

Annabella adorait les mathématiques. Byron l’appelait même parfois « la princesse des parallélogrammes ». Annabella fit en sorte que les tuteurs d'Ada lui donnent une éducation approfondie en mathématiques et en sciences, ce qui était tout à fait inhabituel à l'époque dans l'éducation d'une jeune fille de la noblesse. En 1832, Ada rencontre Mary Somerville, éminente chercheuse et autrice scientifique du XIXe siècle, qui l'encourage et l'aide à progresser en mathématiques. Le 5 juin 1833, Mary lui présente Charles Babbage, et Ada — alors âgée de 17 ans — est immédiatement fascinée par ses machines à calcul. Ils deviennent très proches, Ada semblant trouver en Babbage le père qu'elle n'avait jamais eu. Parmi ses autres connaissances, on compte David Brewster, Charles Wheatstone, Charles Dickens et Michael Faraday.

Elle se marie en 1835 avec William King, 1er comte de Lovelace. Ils auront trois enfants : Byron, né le 12 mai 1836, Annabella (Anne Blunt) née le 22 septembre 1837 et Ralph Gordon né le 2 juillet 1839. William était dévoué à Ada et encourageait les goûts et les activités d'Ada en mathématiques. La famille vécut à Ockham Park, à Ockham. Son titre et son nom complet furent pendant la plus grande partie de sa vie La très honorable Augusta Ada, comtesse de Lovelace. Elle est plus connue sous le nom de Ada Lovelace ou Lady Lovelace.

La santé fragile d'Ada, mise à l'épreuve par les grossesses, ainsi que ses responsabilités de mère et de maîtresse de maison, la tiennent écartée de ses activités mathématiques jusqu'en 1839. À cette date, elle éprouve le besoin de reprendre l'étude des mathématiques et demande à Babbage de lui recommander un tuteur : le célèbre mathématicien Auguste De Morgan accepte cette charge. Les études d'Ada reprennent, et De Morgan trouve en Ada une élève enthousiaste et créative. Ada prend confiance dans ses capacités en mathématiques, encouragée par les retours positifs de De Morgan. Le 6 février 1841, Ada écrit à sa mère une lettre où elle parle de ses goûts et aspirations : « Je crois que je possède une singulière combinaison de qualités, qui semble précisément ajustée pour me prédisposer à devenir une exploratrice des réalités cachées de la Nature ». Elle mentionne son « énergie inépuisable et insatiable » et pense avoir trouvé un sens à sa vie.

En 1841, Ada a de nouveau des problèmes de santé, mais elle revient aux mathématiques fin 1842. Elle tourne dès lors entièrement son travail vers la machine analytique de Babbage, et propose à ce dernier ses services pour en poursuivre le développement et la promotion.


Mémoire sur la machine de Babbage


En octobre 1842, paraît en français, dans un journal suisse, une description de la machine analytique de Babbage réalisée par le mathématicien italien Louis-Frédéric Ménabréa (1809-1896). Charles Wheatstone propose à Ada Lovelace, qui a un bon niveau de français, de traduire ce mémoire pour le journal Scientific Memoirs spécialisé dans les articles scientifiques étrangers.

Elle passe neuf mois, entre 1842 et 1843, sur cette traduction. Babbage lui-même n'intervient que très peu, étant malade pendant cette même période, et la traduction lui est présentée au début de l'année 1843 un peu comme un « fait accompli ». Il demande alors à Ada pourquoi elle n'avait pas fait elle-même un mémoire présentant la machine analytique, ce à quoi elle répondit que l'idée ne lui était pas venue à l'esprit. Babbage propose alors à Ada d'augmenter la traduction avec des notes développant et commentant certains aspects du mémoire, idée immédiatement adoptée avec enthousiasme par Ada.

S'ensuit une période de travail frénétique sur ces notes, en collaboration étroite avec Charles Babbage qui annote les brouillons, corrige les incompréhensions tout en encourageant et félicitant Ada de son travail. Elle ajoute à cet article sept notes, labellisées de A à G, représentant près de trois fois le volume de texte de l'article original. La note G s'appuie sur un véritable algorithme très détaillé pour calculer les nombres de Bernoulli avec la machine. Le programme qui en résulte est souvent considéré comme le premier véritable programme informatique au monde, car les algorithmes décrits jusque-là n'étaient pas décrits avec un formalisme, dans un langage véritablement destiné à être exécuté sur une machine. De plus, ce programme comporte selon Catherine Dufour la première boucle conditionnelle, véritable concept informatique, contrairement aux programmes séquentiels qui avaient pu être faits auparavant par Babbage, ou dans les métiers à tisser Jacquard.

On ne sait pas exactement dans quelle mesure Ada Lovelace a programmé elle-même cet algorithme, ayant été en relation constante et étroite avec Babbage. Ce qui semble sûr c'est qu'Ada a eu l'idée de donner un exemple de programmation de la machine en utilisant le calcul des nombres de Bernoulli, et que Babbage a fourni à Ada au minimum les formules mathématiques de base. Selon Betty Toole, Ada était tout à fait en mesure de réaliser elle-même le programme, ayant montré une profonde compréhension de la machine dans sa traduction et ses notes, et des lettres entre Babbage et Ada semblent indiquer que le rôle de Babbage s'est effectivement limité à fournir les formules mathématiques. En revanche, Bruce Collier, un des meilleurs spécialistes de la machine de Babbage, porte le jugement sévère suivant : « Cela ne serait qu'une légère exagération de dire que les notes du mémoire ont été écrites par Babbage, et que — pour des raisons qui lui sont propres — il a entretenu l'idée dans l'esprit d'Ada Lovelace, et dans l'esprit du public, que ces notes étaient d'elle ».

Selon Stephen Wolfram, on n'a jamais retrouvé, dans les documents et publications de Babbage, des algorithmes aussi complexes et aussi propres que celui sous-jacent au programme de calcul des nombres de Bernoulli. Babbage, à la fin de sa vie, avait compilé une liste datée de 446 calculs possibles avec sa machine analytique (446 Notations of the Analytical Engine), tous datés de 1830 à mi 1840, date après laquelle on ne trouve plus de travaux de Babbage sur les algorithmes. Ada Lovelace ayant conçu son programme en 1842, ces éléments laissent penser que c'est bien elle qui a conçu ce programme, avec la simple supervision bienveillante de Babbage.

Dans d'autres notes, Ada Lovelace montre une perception des potentialités de la machine que Doron Swade considère comme « visionnaire, même dans une perspective moderne ». Babbage avait une vision de sa machine comme étant tournée vers le calcul numérique, avec à la limite des extensions vers le calcul algébrique avec la possibilité de manipuler des symboles plutôt que des chiffres. Mais il n'a rien publié allant dans ce sens, et il n'a pas approfondi cette possibilité, allant même jusqu'à imaginer un autre type de machine spécifique pour les calculs algébriques. En revanche, Ada Lovelace décrit explicitement des possibilités allant au-delà d'un contexte mathématique, comme l'hypothèse que « la machine pourrait composer de manière scientifique et élaborée des morceaux de musique de n'importe quelle longueur ou degré de complexité ».


Un autre passage des notes d'Ada, cité par Doron Swade, illustre cette vision de calculateur universel :

« Beaucoup de personnes […] s'imaginent que parce que la Machine fournit des résultats sous une forme numérique, alors la nature de ses processus doit être forcément arithmétique et numérique, plutôt qu'algébrique ou analytique. Ceci est une erreur. La Machine peut arranger et combiner les quantités numériques exactement comme si elles étaient des lettres, ou tout autre symbole général ; en fait elle peut donner des résultats en notation algébrique, avec des conventions appropriées. »
Il fallut attendre les années 1930 avec Alan Turing pour formaliser une telle notion de calculateur universel qui manipule des symboles généraux, et abandonner la notion de calculatrice purement numérique.