Le fil du temps#
À gauche, l'algorithme (la recette). Vers la droite, la programmation (la recette confiée à une machine). Ada Lovelace, en inventant le premier programme, est la charnière entre les deux mondes.
D'où vient le mot « algorithme » ?#
Vers l'an 820, à Bagdad, le savant Muhammad ibn Musa al-Khwarizmi travaille à la Maison de la Sagesse. Il écrit des manuels de calcul si clairs qu'on les recopie pendant des siècles. Quand ses livres arrivent en Europe, son nom est latinisé en « Algoritmi » - et finit par désigner toute méthode de calcul pas à pas.
Bonus : le titre d'un de ses ouvrages, al-jabr, nous a aussi donné le mot « algèbre ». Un seul savant, deux mots que tu utilises encore en classe.
Le plus vieux : l'algorithme d'Euclide#
Plus de 2000 ans avant le premier ordinateur, le mathématicien grec Euclide décrit une recette pour trouver le plus grand commun diviseur (PGCD) de deux nombres. Elle est si efficace qu'on l'utilise encore aujourd'hui, telle quelle, dans les calculatrices et la cryptographie.
L'idée : le PGCD de deux nombres est aussi le PGCD du plus petit et du reste de leur division. On répète jusqu'à ce que le reste tombe à zéro - le dernier nombre non nul est la réponse.
def pgcd(grand, petit): while petit != 0: grand, petit = petit, grand % petit return grandDéroule l'algorithme d'Euclide toi-même
Chaque ligne remplace le couple par (le plus petit, le reste). En quelques étapes seulement, même pour de très grands nombres : c'est un algorithme remarquablement rapide.
Le grand tournant : confier la recette à une machine#
Jusqu'ici, l'algorithme vit dans la tête d'un humain, qui l'exécute lui-même. Le basculement vers la programmation, c'est le jour où l'on confie ces instructions à une machine. Et, surprise, tout commence dans un atelier de tissage.
En 1804, le Lyonnais Joseph-Marie Jacquard invente un métier à tisser piloté par des cartes perforées. Chaque carte indique à la machine quels fils lever ; changer les cartes change le motif tissé, sans rien modifier à la machine. Pour la première fois, une suite d'instructions est séparée de la machine qui l'exécute.
C'est l'idée fondatrice du logiciel : la machine reste fixe, le programme (les cartes) devient interchangeable. Ada Lovelace s'en souviendra, en écrivant que la machine analytique « tisse des motifs algébriques comme le métier Jacquard tisse des fleurs ».
Babbage : l'ordinateur dessiné sur papier#
Dans les années 1830, le mathématicien anglais Charles Babbage reprend les cartes de Jacquard et conçoit la machine analytique : un véritable ordinateur mécanique, avec une unité de calcul (« le moulin »), une mémoire (« le magasin »), une entrée par cartes, et même des boucles et des décisions conditionnelles.
Faute de moyens, la machine ne sera jamais construite de son vivant. Mais le plan, lui, est complet : c'est le premier ordinateur de l'histoire... resté sur papier. Il manquait quelqu'un pour comprendre ce qu'on pouvait vraiment lui faire faire.
Ada Lovelace invente le premier programme de l'histoire#
Ada Lovelace (1815-1852), mathématicienne anglaise, collabore avec Babbage autour de sa machine analytique. En 1843, dans ses notes, elle écrit une suite d'instructions pour lui faire calculer les nombres de Bernoulli : elle invente ainsi le tout premier programme informatique de l'histoire, écrit pour une machine qui n'existait pas encore. La machine était prête sur papier ; il fallait l'esprit d'Ada pour inventer ce qu'on allait lui faire exécuter.
Surtout, Ada comprend une chose que Babbage lui-même n'avait pas vue : une telle machine ne sert pas qu'à calculer des nombres. Si l'on sait traduire d'autres choses - des notes de musique, par exemple - en symboles, alors la machine peut les manipuler aussi.
Près d'un siècle avant le premier ordinateur, elle avait déjà entrevu l'informatique créative : musique, images, art générés par une machine. Exactement le monde dans lequel tu codes aujourd'hui. 🎵 Sa page dédiée : portraits, citations et premier algorithme →
Turing : ce qu'est un algorithme, au fond#
En 1936, le mathématicien Alan Turing imagine une machine abstraite très simple - un ruban, des symboles, des règles - et démontre qu'elle peut exécuter n'importe quel algorithme imaginable. Cette « machine de Turing » donne enfin une définition précise du mot algorithme et fonde l'informatique théorique.
Au passage, Turing prouve aussi qu'il existe des problèmes qu'aucun algorithme ne pourra jamais résoudre. Trier, chercher, calculer un PGCD : faciles. Mais certaines questions n'ont pas de recette - une frontière fascinante que tu croiseras plus tard.
Grace Hopper : programmer avec des mots#
Au début des années 1950, programmer veut encore dire écrire des suites de nombres que seule la machine comprend. L'Américaine Grace Hopper, officière de marine et mathématicienne, a une idée renversante : et si on programmait avec des mots ? En 1952, elle écrit le premier compilateur - un programme qui traduit des instructions lisibles par un humain en langage machine.
C'est la naissance des langages de programmation. Son travail ouvre la voie au COBOL, puis à toute la lignée qui aboutit aux langages clairs d'aujourd'hui - Python compris. On lui doit aussi le mot « bug » : en 1947, son équipe trouve un vrai papillon de nuit coincé dans une machine et le colle dans le carnet de bord. 🐛
Le fil rouge : de la recette au programme#
En une phrase, voici le voyage que tu viens de faire :
Euclide écrit la recette → Al-Khwarizmi lui donne son nom → Jacquard la met sur des cartes → Babbage bâtit la machine → Ada invente le premier programme → Turing en donne la théorie → Hopper la rend lisible avec des mots → toi, en Python.
Quand tu écris une simple boucle, tu es l'héritière directe de cette chaîne. La recette d'Euclide tenait sur un parchemin ; aujourd'hui, tu la confies à une machine en quelques lignes :
# La même idée qu'Euclide, mais exécutée par une machine : c'est ça, programmer. def pgcd(grand, petit): while petit != 0: grand, petit = petit, grand % petit return grandDeux mille ans séparent la recette de son exécution automatique. Tu es, très concrètement, la suite de cette histoire. ✨