Ada Lovelace, de son nom complet Augusta Ada King, comtesse de Lovelace, née Ada Byron le 10 décembre 1815 et morte le 27 novembre 1852 à Londres, fille de lord Byron, est principalement connue pour avoir traduit et annoté une description de la machine analytique de Charles Babbage, un ancêtre de l'ordinateur. Dans ses notes, on trouve le premier algorithme publié, destiné à être exécuté par une machine, ce qui fait considérer Ada Lovelace comme une programmeuse, voire « le premier programmeur du 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. Elle est assez connue dans les pays anglo-saxons et en Allemagne, notamment dans les milieux féministes ; elle est moins connue en France, mais de nombreux développeurs connaissent le langage Ada, nommé en son honneur.

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 Federico Luigi, comte de Menabrea (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 passa neuf mois, entre 1842 et 1843, sous la supervision de Wheatstone, sur cette traduction. Babbage lui-même n'intervint que très peu, étant malade pendant cette même période, et la traduction lui fut présentée au début de l'année 1843 un peu comme un « fait accompli ». Il demanda 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 proposa 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'ensuivit une période de travail frénétique sur ces notes, en collaboration étroite avec Charles Babbage qui annotait les brouillons, corrigeait les incompréhensions tout en encourageant et félicitant Ada de son travailSwade . Elle ajouta à 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 mentionne un véritable algorithme très détaillé pour calculer les nombres de Bernoulli avec la machine. Ce programme est souvent considéré comme le premier véritable programme informatique au monde2, car les algorithmes décrits jusque-là n'étaient pas écrits avec un formalisme, un langage, destinés à être exécuté sur une machine.

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 est que c'est Ada qui 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. »

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 jamais 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, 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.