Histoire de l'informatique

Qui a inventé le premier langage de programmation ?

La réponse

Le premier langage de programmation est souvent attribué à Ada Lovelace, qui a écrit ce qu'on considère comme le premier algorithme destiné à être exécuté par une machine, en 1843. Cependant, le concept de langage de programmation moderne a été développé dans les années 1950 avec des langages comme FORTRAN et LISP.

En savoir plus

L’invention du premier langage de programmation ne peut pas être attribuée sans nuance à une seule personne, car la notion de « langage » a évolué avec les machines. Ada Lovelace est toutefois souvent présentée comme la première programmeuse : en 1843, elle a décrit un algorithme destiné à être exécuté par la machine analytique conçue par Charles Babbage. Cette contribution précède de plus d’un siècle les langages de programmation modernes, apparus avec les premiers ordinateurs programmables des années 1950.

Ada Lovelace, une pionnière de l’algorithmique

En 1843, Ada Lovelace publie une traduction annotée d’un article consacré à la machine analytique de Charles Babbage. Ses notes sont plus longues que le texte traduit et contiennent notamment un algorithme destiné à calculer des nombres de Bernoulli avec cette machine. Cet algorithme est généralement considéré comme le premier conçu pour être exécuté par une machine. Lovelace ne rédige donc pas un langage de programmation au sens moderne, mais elle formalise une suite d’instructions adaptée à une machine théorique. Son travail montre aussi qu’elle comprend la vocation générale de la machine analytique : elle ne devait pas seulement effectuer des calculs numériques, mais pouvait, en principe, manipuler des symboles selon des règles.

Une contribution théorique avant les ordinateurs

La machine analytique de Babbage n’a pas été achevée du vivant d’Ada Lovelace. Son algorithme n’a donc pas été exécuté sur la machine pour laquelle il avait été conçu. Cette limite n’enlève rien à la portée historique de ses notes, mais elle explique pourquoi il est plus exact de parler d’un premier algorithme destiné à une machine que d’un premier langage de programmation opérationnel. La programmation suppose en effet à la fois une procédure exprimée de manière formelle et un dispositif capable de l’interpréter ou de l’exécuter. Au XIXe siècle, Lovelace fournit une contribution fondatrice au premier de ces aspects, tandis que les langages proprement dits se développeront avec l’informatique électronique.

La naissance des langages modernes dans les années 1950

Le concept de langage de programmation moderne se forme surtout dans les années 1950, lorsque les ordinateurs deviennent capables d’exécuter des programmes. Avant les langages de haut niveau, les instructions étaient écrites directement en langage machine ou à l’aide de l’assembleur, des formes de programmation étroitement liées au fonctionnement du matériel. En 1957, l’équipe d’IBM dirigée par John Backus met au point FORTRAN, conçu pour traduire des formules mathématiques et faciliter les calculs scientifiques. FORTRAN devient le premier langage de haut niveau largement utilisé. Il est suivi notamment par LISP, conçu par John McCarthy et mis en œuvre à partir de 1958, qui occupe une place majeure dans les débuts de l’intelligence artificielle et du traitement symbolique. D’autres langages, comme ALGOL et COBOL, apparaissent également à la fin de cette décennie pour répondre à des besoins différents.

Une réponse qui dépend du sens donné au mot « langage »

Si l’on cherche la première personne à avoir écrit un algorithme destiné à être exécuté par une machine, la réponse la plus courante est donc Ada Lovelace, en 1843. Si l’on parle d’un langage de programmation moderne, doté d’une syntaxe et d’un système permettant de traduire les instructions pour un ordinateur, l’invention résulte plutôt d’un développement collectif au cours des années 1950, avec des langages comme FORTRAN et LISP. Ada Lovelace n’a ainsi pas créé un langage comparable à ceux utilisés aujourd’hui, mais son algorithme pour la machine analytique constitue une étape fondatrice de l’histoire de la programmation.

CultureG.org