Histoire de l'informatique¶
Programme officiel (B.O.)¶
B.O. spécial n° 1 du 22 janvier 2019 - NSI Première
| Contenus | Capacités attendues | Commentaires |
|---|---|---|
| Événements clés de l'histoire de l'informatique. | Situer dans le temps les principaux événements de l'histoire de l'informatique et leurs protagonistes. | Ces repères historiques sont construits au fur et à mesure de la présentation des concepts et techniques. |
1. Les origines : machines à calculer¶
1.1 Les premières machines mécaniques¶
Bien avant l'informatique moderne, des inventeurs ont cherché à automatiser le calcul.
| Date | Invention | Inventeur | Apport |
|---|---|---|---|
| 1642 | Pascaline | Blaise Pascal | Première machine à calculer mécanique : additions et soustractions à l'aide d'engrenages |
| 1694 | Machine de Leibniz | Gottfried Leibniz | Étend la Pascaline aux multiplications et divisions |
| 1801 | Métier Jacquard | Joseph-Marie Jacquard | Utilise des cartes perforées pour programmer automatiquement les motifs de tissage |
Les cartes perforées
L'idée de Jacquard - coder des instructions sur des cartes perforées - sera reprise un siècle plus tard pour programmer les premiers ordinateurs. C'est l'ancêtre du programme informatique.
1.2 La Machine analytique de Babbage¶
En 1837, le mathématicien britannique Charles Babbage conçoit la Machine analytique, un projet visionnaire qui contenait déjà les quatre composants d'un ordinateur moderne :
- un moulin (unité de calcul) ;
- un magasin (mémoire) ;
- un système d'entrée (cartes perforées) ;
- un système de sortie (impression).
La machine n'a jamais été achevée (la technologie mécanique de l'époque était insuffisante), mais le concept était correct.
1.3 Ada Lovelace, première programmeuse¶
En 1843, Ada Lovelace, mathématicienne britannique, écrit un algorithme destiné à être exécuté par la Machine analytique de Babbage : le calcul des nombres de Bernoulli. C'est le premier programme de l'histoire.
Elle a aussi eu l'intuition que la machine pourrait manipuler autre chose que des nombres : de la musique, du texte, des images. Cette vision préfigure l'informatique moderne.
2. Les fondements théoriques (années 1930)¶
2.1 Alan Turing et la machine de Turing¶
En 1936, le mathématicien britannique Alan Turing publie un article fondateur dans lequel il définit un modèle abstrait de calcul : la machine de Turing.
Cette machine théorique (un ruban infini, une tête de lecture/écriture, un ensemble d'états) peut simuler n'importe quel algorithme. Turing démontre aussi l'existence de problèmes indécidables - des problèmes qu'aucun algorithme ne peut résoudre dans tous les cas (comme le problème de l'arrêt).
2.2 La thèse de Church-Turing¶
Au même moment, le mathématicien américain Alonzo Church développe le lambda-calcul, un autre formalisme équivalent à la machine de Turing. Ensemble, ils formulent la thèse de Church-Turing :
Tout ce qui est calculable peut l'être par une machine de Turing.
Autrement dit, tous les langages de programmation « complets » sont équivalents en puissance de calcul.
2.3 George Boole et l'algèbre booléenne¶
Dès 1854, George Boole formalise la logique sous forme algébrique (AND, OR, NOT). En 1938, Claude Shannon montre que ces opérations logiques peuvent être réalisées par des circuits électriques, posant les bases de l'électronique numérique.
3. Les premiers ordinateurs (1940-1950)¶
3.1 Le contexte de la Seconde Guerre mondiale¶
La guerre a été un accélérateur décisif pour le développement des premiers calculateurs.
| Date | Machine | Créateur(s) | Caractéristiques |
|---|---|---|---|
| 1941 | Z3 | Konrad Zuse | Premier calculateur programmable fonctionnel (électromécanique, relais) |
| 1943 | Colossus | Tommy Flowers (Bletchley Park) | Machine électronique pour décrypter les messages chiffrés allemands |
| 1945 | ENIAC | Eckert et Mauchly | Premier ordinateur électronique à usage général. 18 000 tubes à vide, 30 tonnes |
Alan Turing et Enigma
Pendant la guerre, Turing travaille à Bletchley Park (Royaume-Uni) sur le décryptage de la machine Enigma utilisée par l'armée allemande. Son travail a contribué à raccourcir la guerre et a démontré la puissance du calcul automatisé.
3.2 L'architecture de von Neumann (1945)¶
John von Neumann propose un modèle d'ordinateur révolutionnaire : le programme enregistré. Données et instructions sont stockées dans la même mémoire, ce qui permet de modifier un programme sans recâbler la machine.
Ce modèle comprend :
- une unité arithmétique et logique (UAL) ;
- une unité de commande ;
- une mémoire (données + programmes) ;
- des entrées/sorties.
C'est encore le modèle utilisé par la quasi-totalité des ordinateurs actuels.
4. L'essor de la programmation (1950-1970)¶
4.1 Les langages de programmation¶
Les premiers programmes étaient écrits en langage machine (des suites de 0 et 1). L'apparition des langages de haut niveau a rendu la programmation accessible.
| Date | Langage | Créateur/Créatrice | Apport |
|---|---|---|---|
| 1957 | FORTRAN | John Backus (IBM) | Premier langage compilé de haut niveau, pour le calcul scientifique |
| 1958 | LISP | John McCarthy | Premier langage fonctionnel, manipulation de listes et récursion |
| 1959 | COBOL | Grace Hopper et al. | Langage pour la gestion, syntaxe proche de l'anglais |
| 1970 | Pascal | Niklaus Wirth | Langage structuré conçu pour l'enseignement |
| 1972 | C | Dennis Ritchie | Langage système, portable, proche de la machine |
| 1991 | Python | Guido van Rossum | Langage lisible, polyvalent, très utilisé en enseignement et en science |
Grace Hopper
Grace Hopper est à l'origine du concept de compilateur : un programme qui traduit un langage de haut niveau en langage machine. On lui attribue aussi la popularisation du terme « bug » (un insecte trouvé dans un relais du Harvard Mark II en 1947).
4.2 Les systèmes d'exploitation¶
| Date | Système | Créateurs | Apport |
|---|---|---|---|
| 1969 | UNIX | Ken Thompson, Dennis Ritchie | Système multi-utilisateurs, concepts fondateurs (fichiers, processus, shell) |
| 1970s | Famille UNIX | Divers | Donne naissance à BSD, puis inspirera Linux et macOS |
5. Internet et le Web (1970-2000)¶
5.1 La naissance d'Internet¶
| Date | Événement |
|---|---|
| 1969 | ARPANET : premier réseau à commutation de paquets, financé par le ministère de la Défense américain |
| 1974 | Publication du protocole TCP/IP par Vint Cerf et Bob Kahn |
| 1983 | ARPANET adopte TCP/IP → naissance d'Internet |
5.2 Le World Wide Web¶
| Date | Événement | Personnalité |
|---|---|---|
| 1989 | Invention du World Wide Web au CERN (Genève) : HTML, URL, HTTP | Tim Berners-Lee |
| 1993 | Mosaic : premier navigateur web graphique populaire | Marc Andreessen |
| 1995 | Explosion du Web commercial |
Internet ≠ Web
Internet est le réseau mondial (infrastructure physique, protocoles TCP/IP). Le Web est un service qui fonctionne sur Internet (pages HTML, liens hypertextes, navigateurs). Le courrier électronique, le transfert de fichiers (FTP) ou la messagerie instantanée sont d'autres services d'Internet.
6. L'informatique personnelle et le logiciel libre¶
6.1 L'ordinateur personnel¶
| Date | Événement |
|---|---|
| 1976 | Apple I puis Apple II (Steve Wozniak et Steve Jobs) |
| 1981 | IBM PC : standard de l'ordinateur personnel |
| 1984 | Macintosh : premier ordinateur grand public avec interface graphique et souris |
| 1985 | Windows 1.0 (Microsoft, Bill Gates) |
6.2 Le mouvement du logiciel libre¶
| Date | Événement | Personnalité |
|---|---|---|
| 1983 | Projet GNU : créer un système d'exploitation entièrement libre | Richard Stallman |
| 1985 | Fondation de la Free Software Foundation (FSF) et création de la licence GPL | Richard Stallman |
| 1991 | Linux : noyau libre, combiné aux outils GNU → système GNU/Linux | Linus Torvalds |
Les quatre libertés du logiciel libre :
- Utiliser le logiciel pour n'importe quel usage ;
- Étudier son fonctionnement (accès au code source) ;
- Modifier le logiciel ;
- Redistribuer des copies (modifiées ou non).
7. Frise chronologique synthétique¶
| Période | Événements clés |
|---|---|
| 1642-1843 | Machines à calculer mécaniques (Pascal, Babbage, Lovelace) |
| 1854 | Algèbre de Boole |
| 1936 | Machine de Turing, lambda-calcul, thèse de Church-Turing |
| 1938 | Shannon : circuits logiques |
| 1940-1945 | Premiers ordinateurs (Z3, Colossus, ENIAC) |
| 1945 | Architecture de von Neumann |
| 1957-1972 | Langages de programmation (FORTRAN, LISP, COBOL, C) |
| 1969 | ARPANET et UNIX |
| 1974 | TCP/IP |
| 1976-1985 | Ordinateurs personnels (Apple, IBM PC, Windows) |
| 1983-1991 | Logiciel libre (GNU, GPL, Linux) |
| 1989-1993 | World Wide Web |
| 1991 | Python |
À retenir¶
| Personnalité | Contribution majeure |
|---|---|
| Blaise Pascal | Pascaline, première machine à calculer (1642) |
| Charles Babbage | Machine analytique, concept d'ordinateur (1837) |
| Ada Lovelace | Premier programme informatique (1843) |
| George Boole | Algèbre booléenne (1854) |
| Alan Turing | Machine de Turing, indécidabilité, décryptage d'Enigma (1936) |
| John von Neumann | Architecture programme enregistré (1945) |
| Grace Hopper | Compilateur, COBOL (1959) |
| Dennis Ritchie | Langage C, UNIX (1972) |
| Tim Berners-Lee | World Wide Web (1989) |
| Linus Torvalds | Linux (1991) |
| Richard Stallman | Logiciel libre, GNU, GPL (1983) |