Brève histoire de la programmation

Aussi surprenant que cela puisse paraître, notre histoire ne commence pas avec des écrans ou des microprocesseurs, mais en 1801, dans le bruit assourdissant des usines de tissage. À cette époque, l'industrie textile est un pilier de l'économie, mais elle est incroyablement laborieuse. Tisser des motifs complexes demande d'innombrables opérations manuelles, souvent confiées à des enfants pour leur agilité.

C'est dans ce contexte que Joseph Marie Jacquard, un inventeur français, cherche à optimiser le processus. Il ne se contente pas d'imaginer une nouvelle machine mécanique pour faciliter le tissage ; il conçoit une idée qui va changer le monde : un système de cartes perforées.


Photo des cartes perforées de la machine de BabbageCartes perforées

Le principe est un véritable coup de génie. Chaque carte, par la présence ou l'absence de trous à des endroits précis, dicte à la machine quels crochets lever ou abaisser pour créer un motif. En changeant simplement le jeu de cartes, la même machine pouvait produire un dessin complètement différent, sans qu'il soit nécessaire de la modifier physiquement. Pour la première fois, l'instruction (le motif désiré) était séparée de la machine (le métier à tisser).

Cette idée révolutionnaire va faire son chemin. Près de trente ans plus tard, en 1834, le mathématicien anglais Charles Babbage reprend ce concept. Il n'est pas intéressé par le tissu, mais par les chiffres. Des calculatrices mécaniques existaient déjà depuis des siècles, mais Babbage voit plus loin. Il imagine une "machine analytique" : une machine à calculer universelle, dont le comportement ne serait pas fixé par sa construction, mais dicté par les instructions qu’on lui fournirait. En utilisant les mêmes principes que Jacquard, on pourrait lui faire exécuter n'importe quelle séquence d'opérations en changeant simplement les cartes insérées.

Photo de la machine de babbage au musé des siences de londreMachine de babbage

Si Babbage en a posé les fondations théoriques, c'est une mathématicienne qui en comprendra la portée réelle. En 1842, l'italien Louis-Frédéric Ménabréa rédige un article en français décrivant la machine de Babbage. Ada Lovelace, une mathématicienne anglaise, se charge de le traduire.

Daguerreotype d'Ada LovelaceDaguerreotype d'Ada Lovelace

Elle ne se contente pas d'une simple traduction ; elle y ajoute de nombreuses notes personnelles, bien plus volumineuses que l'article original. Dans ses notes, elle détaille un algorithme complexe pour calculer la suite des nombres de Bernoulli. Ce texte est aujourd'hui considéré comme le tout premier programme informatique jamais écrit. Ada Lovelace venait d'inventer la programmation, avant même que la première machine capable de l'exécuter n'existe.

Note G publiée par Ada LovelaceDiagramme de calcul des nombres de Bernouilli via la machine de Babbage

Malheureusement, les machines de Babbage et les travaux de Lovelace, trop en avance sur leur temps, tombent dans l'oubli après sa mort en 1852. Depuis, de nombreuses choses on été nommés en son hommage tel que le langague de programmation "Ada" inventé par le département de la défense américaine en 1980 et l'architecture Ada Lovelace de la série de cartes graphiques RTX 4000 de Nvidia. Son portrait est également visible sur certains hologrammes d'authentification des produits Microsoft (certificats).

Photo d'un hologramme d'authentification MicrosoftHologramme d'authentification de windows 95

Il faudra attendre un contexte tragique, celui de la Seconde Guerre mondiale, pour que la nécessité de calculs intensifs fasse renaître ces idées. C’est en effet pendant ce conflit que naissent les premières machines capables d’exécuter des calculs à une vitesse inaccessible à l'humain. La plus célèbre est sans doute la "Bombe", une machine électromécanique conçue en partie sur les idées d'Alan Turing pour déchiffrer les messages codés par la machine allemande Enigma.

Photo d'une réplique de la bombe à bletchley parkRéplique de la Bombe de Turing

Ces dispositifs, bien qu'ingénieux, ne sont pas encore des ordinateurs au sens moderne. Ils reposent sur des mécanismes physiques en mouvement (moteurs, rotors, engrenages) et nécessitent de nombreuses interventions manuelles.

En parallèle, l'ingénieur allemand Konrad Zuse construit le Zuse 3 en 1941, souvent considéré comme le premier ordinateur programmable (utilisant des relais électromécaniques).


Photo d'une réplique du Zuse 3 au musé allemand de munichRéplique du Zuse 3

Deux ans plus tard, les Britanniques mettent au point Colossus, une machine électronique massive utilisée pour intercepter les communications allemandes chiffrées par la machine Lorenz.

Photographie de Colossus à Bletchley Park en 1943Photographie de Colossus

Mais c'est l'ENIAC (Intégrateur Numérique Électronique et Calculateur), achevé en 1945 aux États-Unis, qui marque l'entrée fracassante dans l'ère informatique. Cette machine est un monstre pour l'époque : 27 tonnes, 170m² au sol, et des milliers de tubes à vide.

Photo de l'ENIAC à PhiladelphiePhoto de l'ENIAC

Sa différence fondamentale avec ses prédécesseurs n'est pas seulement sa vitesse (basée sur l'électronique et non plus la mécanique), mais son ambition. L'ENIAC est conçu pour être "généraliste". Alors que Colossus ou la Bombe étaient dédiés à une mission spécifique (le décryptage), l'ENIAC pouvait être reconfiguré pour résoudre des problèmes variés : calculs balistiques, recherche sur les armes thermonucléaires, ou simulations mathématiques.

Il inaugure une nouvelle époque : celle des ordinateurs électroniques programmables. Mais pour comprendre comment l'ENIAC et ses descendants fonctionnent réellement, nous devons laisser de côté l'histoire et aller voir ce qu’il se passe à l'intérieur, comment fonctionnent leurs composants électroniques.


Conçu bénévolement avec ❤️

Vous appréciez le contenu ? N'hésitez pas à soutenir le projet.

Copyright 2025, Le guide du développeur ©, tous droits réservés.