Entre 1900 et 1939: l'avancée
mathématique
L'étude des machines à calculer se poursuivait.
On construisit des machines destinées à une utilisation
particulière: ainsi, en 1919, le lieutenant d'infanterie
E. Carissan (1880-1925) conçut et réalisa une
merveilleuse machine à factoriser les entiers. L'Espagnol
Leonardo Torres y Quevedo (1852-1936) construisit plusieurs
machines électromécaniques, dont l'une qui jouait
des fins de parties d'échecs.
En 1928, le mathématicien David Hilbert (1862-1943) posa
trois questions au Congrès International des Mathématiciens
: (1) Les mathématiques sont-elles complètes ?
(tout énoncé mathématique peut-il être
soit prouvé, soit réfuté ?) (2) Les mathématiques
sont-elles cohérentes ? (peut-on être sûr
que des raisonnements valides ne conduiront pas à des
absurdités ?) (3) Les mathématiques sont-elles
décidables ? (existe-t-il un algorithme pouvant dire
de n'importe quel énoncé mathématique s'il
est vrai ou faux ?) Cette dernière question est connue
sous le nom de Entscheidungsproblem.
En 1931, Kurt Gödel (1906-1978) répondit
à deux de ces questions. Il démontra que tout
système formel suffisamment puissant est soit incohérent,
soit incomplet. De plus, si un système d'axiomes est
cohérent, cette cohérence ne peut être
prouvée en n'utilisant que les axiomes. La troisième
question restait ouverte, en remplaçant «vrai»
par «prouvable» (existe-t-il un algorithme pour
dire si une assertion peut être prouvée ?)
En 1936, Alan Turing (1912-1954) résolut
l'Entscheidungsproblem en construisant un modèle formel
de calculateur - la machine de Turing - et en prouvant qu'une
telle machine ne pouvait pas résoudre certains problèmes,
en particulier le problème d'arrêt : étant
donné un programme, peut-on dire s'il termine pour
n'importe quelle valeur des données ?
Les années 40 : la guerre fait
naître l'ordinateur électronique
La complication des calculs balistiques, durant la seconde
guerre mondiale, aiguillonna le développement de l'ordinateur
électronique. En 1944, à Harvard, Howard Aiken
(1900-1973) construisit le calculateur électromécanique
Mark I, avec l'aide d'IBM.
Le décryptage militaire conduisit aussi à des
projets d'ordinateur. Alan Turing, en Angleterre, travaillait
à décoder la machine allemande Enigma; les Anglais
construisirent un calculateur, le Colossus, pour aider au
décryptage.
En 1939, à l'Université d'Iowa,
John Atanasoff (1904-1995) et Clifford Berry conçurent
et réalisèrent l'ABC, un calculateur électronique
pour résoudre des systèmes d'équations
linéaires, mais il ne fonctionna jamais correctement.
Atanasoff discuta de son invention avec John
Mauchly (1907-1980), qui, plus tard, avec John Eckert (1919-1995),
conçut et réalisa l'ENIAC, un calculateur électronique
destiné à l'origine aux calculs balistiques.
On ne sait pas très bien quelles idées Atanasoff
transmit à Mauchly; le mérite d'avoir inventé
le premier ordinateur revient-il à Atanasoff ou à
Mauchly et Eckert ? Ce fut le sujet de batailles juridiques,
c'est encore celui d'un débat historique. L'ENIAC fut
construit à l'Université de Pennsylvanie, et
terminé en 1946.
En 1944, Mauchly, Eckert, et John von Neumann
(1903-1957) travaillaient à la conception d'un ordinateur
électronique, l'EDVAC. Le premier rapport de Von Neumann
sur l'EDVAC eut beaucoup d'influence; on y trouve de nombreuses
idées encore utilisées dans les ordinateurs
les plus modernes, dont une routine de tri par fusion. Eckert
et Mauchly reprirent ces idées pour construire l'UNIVAC.
Pendant ce temps, en Allemagne, Konrad Zuse
(1910-1995) construisait le premier calculateur programmable
universel (non spécialisé), le Z3 (1941).
En 1945, Vannevar Bush publia As We May Think,
un article étonnamment prophétique sur le traitement
de l'information, et ses effets sur la société
dans les temps à venir.
En Angleterre, Maurice Wilkes (né en
1913) construisit l'EDSAC (à partir de l'EDVAC). F.
Williams (né en 1911) et son équipe construisirent
le Manchester Mark I, dont une version fut opérationnelle
dès juin 1948. Certains considèrent cette machine
comme le premier ordinateur à programme en mémoire
(architecture dite de Von Neumann).
L'invention du transistor en 1947 par John
Bardeen, Walter Brattain et William Shockley transforma l'ordinateur,
et permit la révolution du microprocesseur. Pour cette
découverte, ils reçurent le Prix Nobel de Physique
en 1956. (Par la suite, Shockley se rendit célèbre
pour ses points de vue racistes.)
Jay Forrester (né en 1918) inventa vers
1949 la mémoire à noyau magnétique.
Les années 50
Grace Hopper (1906-1992) inventa la notion de compilateur
(1951). (Quelques années plus tôt, elle avait
trouvé le premier bug de l'histoire de l'informatique,
une phalène entrée dans le Mark II de Harvard.)
John Backus et son équipe écrivirent le premier
compilateur FORTRAN en avril 1957. LISP (List Processing),
un langage de traitement de listes pour l'intelligence artificielle,
fut inventé par John McCarthy vers 1958. Alan Perlis,
John Backus, Peter Naur et leurs associés développèrent
Algol (Algorithmic Language) en 1959.
Jack Kilby (Texas Instruments) et Robert Noyce
(Fairchild Semiconductor) inventèrent les circuits
intégrés en 1959.
Edsger Dijkstra trouva un algorithme efficace
pour résoudre le problème des plus courts chemins
dans un graphe, à titre de démonstration pour
l'ARMAC en 1956. Il trouva aussi un algorithme efficace de
recherche d'un arbre recouvrant de poids minimal, afin de
minimiser le câblage du X1. (Dijkstra est célèbre
pour ses déclarations caustiques et péremptoires;
voir par exemple son avis sur quelques langages de programmation).
Dans un célèbre article de la
revue Mind, en 1950, Alan Turing décrivit le test de
Turing, l'une des premières avancées en intelligence
artificielle. Il proposait une définition de la «pensée»
ou de la «conscience» relative à un jeu
: un examinateur pose des questions par écrit à
un interlocuteur situé dans la pièce voisine,
et doit décider, au vu des réponses, si son
interlocuteur est une machine ou un être humain. S'il
est incapable de répondre, on peut raisonnablement
dire que l'ordinateur «pense».
En 1952, Alan Turing fut arrêté pour outrage
aux bonnes moeurs après qu'une plainte pour cambriolage
eut révélé sa liaison avec Arnold Murray.
L'homosexualité affichée était tabou
dans l'Angleterre des années 1950, et on obligea Turing
à suivre un «traitement» hormonal qui le
rendit impuissant et lui fit pousser des seins. Le 7 juin
1954, Turing se suicida en mangeant une pomme enrobée
de cyanure.
Les années 60
Dans les années 1960, l'informatique devint une discipline
à part entière. Le premier département
d'informatique fut créé en 1962 à l'Université
de Purdue; le premier Ph.D. d'informatique fut délivré
à Richard Wexelblat par l'Université de Pennsylvanie,
en décembre 1965.
Il y eut une percée dans les systèmes d'exploitation.
Fred Brooks (IBM) conçut System/360, une série
d'ordinateurs de tailles variées, avec la même
architecture et le même ensemble d'instructions. Edsger
Dijkstra, à Eindhoven, conçut le système
multiprogramme THE.
De nombreux langages de programmation virent
le jour, tels que BASIC, développé vers 1964
par John Kemeny (1926-1992) et Thomas Kurtz (né en
1928).
Les années 1960 virent émerger
la théorie des automates et des langages formels :
on peut notamment citer Noam Chomsky (qui se fit plus tard
remarquer par la théorie suivant laquelle le langage
est «câblé» dans le cerveau, et pour
sa critique de la politique étrangère des Etats-Unis)
et Michael Rabin.
On commença aussi à utiliser
des méthodes formelles pour prouver la correction des
programmes. Les travaux de Tony Hoare (l'inventeur de Quicksort)
jouèrent un rôle important.
Vers la fin de la décennie, on commença
à construire ARPAnet, le précurseur d'Internet.
Ted Hoff (né en 1937) et Federico Faggin
(Intel) conçurent le premier microprocesseur en 1969-1971.
Donald Knuth (né en 1938), auteur du
traité The Art of Computer Programming, posa des fondements
mathématiques rigoureux pour l'analyse des algorithmes.
Les années 70
Les travaux d'Edgar Codd sur les bases de données relationnelles
permirent une avancée majeure dans la théorie
des bases de données. Codd reçut le Turing Award
en 1961.
Le système d'exploitation Unix fut développé
aux Bell Laboratories par Ken Thompson (né en 1943)
et Dennis Ritchie (né en 1941). Brian Kernighan et
Ritchie développèrent C, un important langage
de programmation.
On vit apparaître de nouveaux langages,
tels que Pascal (inventé par Niklaus Wirth) et Ada
(réalisé par une équipe dirigée
par Jean Ichbiah).
La première architecture RISC fut commencée
par John Cocke en 1975, chez IBM. Vers cette époque,
des projets analogues démarrèrent à Berkeley
et Stanford.
Les années 1970 virent aussi naître
les super-ordinateurs. Seymour Cray (né en 1925) conçut
le CRAY-1, qui apparut en mars 1976; il pouvait exécuter
160 millions d'opérations par seconde. Le Cray XMP
sortit en 1982. Cray Research (à présent repris
par Silicon Graphics) continue à construire des ordinateurs
géants.
Il y eut aussi des progrès importants
en algorithmique et en théorie de la complexité.
En 1971, Steve Cook publia son article fondamental sur la
NP-complétude, et, peu après, Richard Karp montra
que de nombreux problèmes combinatoires naturels étaient
NP-complets.
Whit Diffie et Martin Hellman publièrent
un article fondant la théorie de cryptographie à
clef publique; le système de cryptage RSA fut inventé
par Ronald Rivest, Adi Shamir, et Leonard Adleman.
En 1979, trois étudiants de Caroline
du Nord développèrent un serveur de nouvelles
distribué qui finalement devint Usenet.
Les années 80
Cette décennie vit apparaître le micro-ordinateur
personnel, grâce à Steve Wozniak et Steve Jobs,
fondateurs de Apple Computer.
Les premiers virus informatiques apparurent en 1981 (leur
nom est dû à Leonard Adleman).
En 1981, l'Osborne I, le premier ordinateur
vraiment portable, fut mis sur le marché. En 1984,
Apple commercialisa le Macintosh.
En 1987, l'US National Science Foundation démarra
NSFnet, qui devait devenir une partie de l' Internet actuel.
1990-2008
Le développement des ordinateurs parallèles
continu.
L'informatique biologique, avec les récents travaux
de Leonard Adleman sur l'utilisation de l'ADN comme calculateur
non déterministe, ouvre de grandes perspectives. Le
projet Génome Humain cherche à séquencer
tout l'ADN d'un individu.
Peter Shor découvre que l'on peut efficacement
factoriser des entiers sur un ordinateur quantique (théorique),
ce qui ouvre la voie à la programmation quantique.
Les autoroutes de l'information relient de
plus en plus les ordinateurs du monde entier.
Les ordinateurs sont de plus en plus petits; naissance de
la nano-technologie.
Cette période est très marquée par la
révolution numérique avec l'arrivée de
l'Internet et des réseaux numériques à
haut débit, le développement très rapide
du multimédia et des nouveaux supports à grande
capacité de stockage comme le cd-rom ou les DVD.