L’histoire de l'informatique est l’histoire de la science du traitement rationnel, notamment par machines automatiques, de l'information. Celle-ci est considérée comme le support des connaissances humaines et des communications dans les domaines techniques, économiques, sociaux ainsi que professionnels.
L'histoire de l'informatique a commencé bien avant la discipline moderne des sciences informatiques, généralement par les mathématiques ou la physique. Les développements des siècles précédents ont évolué vers la discipline que nous connaissons aujourd'hui sous le nom d'informatique.. Cette progression, des inventions mécaniques et des théories mathématiques vers les concepts et les machines informatiques modernes, a conduit au développement d'un domaine académique majeur, à un progrès technologique spectaculaire à travers le monde occidental et à la base d'un commerce et d'une culture mondiale massive..
Introduction En 1966, l’informatique a été définie par l'Académie française comme la « science du traitement rationnel, notamment par machines automatiques, de l'information considérée comme le support des connaissances humaines et des communications dans les domaines techniques, économiques et sociaux »..
L’histoire de l’informatique résulte de la conjonction entre des découvertes scientifiques et des transformations techniques et sociales : découvertes physiques sur les semi-conducteurs et la miniaturisation des transistors ; découvertes mathématiques sur la calculabilité et les propriétés des algorithmes ; invention de la théorie de l’information, de la sémiotique et de la cybernétique ; transformations techniques, l’introduction de machines ou de composants informatiques, des machines à laver aux automobiles et aux avions, des banques à la santé, de l’imprimerie à la documentation en ligne ; transformations sociales avec l’organisation des entreprises et des administrations autour de leur système d’information automatisé, et avec la circulation de l’information dans les réseaux sous forme numérique.
Si la plupart des ordinateurs ont été conçus au départ pour exécuter des calculs numériques trop longs ou trop compliqués pour être effectués à la main, des machines similaires ont été construites pour traiter des informations non numériques (par exemple, reconnaître une chaîne de caractères dans un texte, ce que faisait dès 1943 le Colossus du service de cryptanalyse britanniqueEmmanuel Lazard et Pierre Mounier-Kuhn, Histoire illustrée de l'Informatique, Paris, EDP Sciences, 2016.). Les calculateurs devenaient des machines universelles de traitement de l’information, d’où le mot ordinateur, retenu en 1956 pour trouver un équivalent français à l’expression anglaise data processing machine. Ce terme a progressivement remplacé en français celui de calculateur, au sens trop restreint.
Les premiers ordinateurs datent de 1949. C'est la notion de programme enregistré, due à John von Neumann et à ses collaborateurs, en 1945, qui transforme les machines à calculer en ordinateurs. La machine est composée des éléments suivants : l’unité arithmétique et logique, un organe de calcul, susceptible d’exécuter les opérations arithmétiques et logiques ; une mémoire, ou mémoire centrale, servant à la fois à contenir les programmes décrivant la façon d’arriver aux résultats et les données à traiter ; des organes d’entrée-sortie, ou périphériques, servant d’organes de communication avec l’environnement et avec l’homme ; une unité de commande (control unit) permettant d’assurer un fonctionnement cohérent des éléments précédents. L’ensemble formé par l’unité arithmétique et logique, d’une part, et l’organe de commande, d’autre part, constitue l’unité centrale ou processeur. L’ensemble des composants physiques, appelé matériel (hardware), est commandé par un logiciel (software).
Selon l'architecture de von Neumann, les programmes sont enregistrés dans la mémoire de la machine. Ils peuvent comporter des boucles de calcul et des alternatives, contrairement aux programmes exécutés à partir de bandes perforées.
Alors qu’on connaît depuis longtemps le codage des procédures par des trous sur des bandes perforées (machines à tisser, orgue de barbarie) lorsque le programme est enregistré en mémoire, il n’y a pas de différence fondamentale entre coder des données et coder des procédures.
On peut donc calculer sur les instructions d’une procédure, par exemple pour faire un saut en arrière dans les instructions, ou pour compter le nombre de tours d’une boucle de calcul sur les éléments d’une liste. Ce calcul sur les programmes a permis le développement du logiciel : langages de programmation, systèmes d'exploitation, applications.
L’histoire de l’informatique porte donc seulement sur une soixantaine d'années. Elle peut se décliner selon quatre points de vue : la dimension physique qui décrit les moyens matériels du traitement, de la conservation et du transport de l'information : les machines et les réseaux ; la dimension logicielle qui définit d’une part les méthodes de calcul, de mémorisation et de commande qui caractérisent les fonctions des ordinateurs, et d’autre part les interfaces entre les personnes et les machines depuis l’arrivée des ordinateurs individuels vers 1980 ; la dimension applicative qui définit les objets et les processus informationnels utilisés, traités, transformés et montrés ; la dimension sociale qui décrit les usages de l’informatique dans tous les domaines et son insertion dans les pratiques sociales les plus diverses.
L'informatique est une nouvelle technologie intellectuelle, comme l'ont été en leur temps l'écriture et l'imprimerie, un moyen de représenter, de structurer et d'exploiter des informations qui en retour structure la pensée de l'homme, selon Pierre Lévy.
L’évolution des machines et des réseaux constitue l’infrastructure physique de l’informatique. L'histoire des ordinateurs est décrite dans un autre article. Celle des réseaux informatiques aussi. Depuis ses débuts, l'informatique a connu des transformations profondes des matériels informatiques en vitesse, puissance, fiabilité, miniaturisation. La transformation du logiciel est au moins aussi profonde, transformation en qualité, sécurité, complexité, réutilisabilité. Les objets traités ont beaucoup changé : d’abord les nombres et les fichiers de gestion des entreprises (textes et nombres), puis les formules, les règles de calcul et de raisonnement, les signaux, les événements, les dessins, les images, le son, la vidéo. L’informatique a de plus en plus d’usages et de plus en plus d’utilisateurs, et l'usage principal passe par les réseaux. Ces transformations du matériel, du logiciel et des usages ont modifié profondément la structure économique politique et sociale des sociétés humaines.
Fondements du logiciel On appelle logiciels les composants logiques et symboliques qui permettent de traiter l’information dans les machines informatiques. Le mot information a un sens très large. On appelle ici information tout ce qui peut être codé sous forme numérique pour être mémorisé, transporté et traité par des machines informatiques : des signes (chiffres, lettres, monnaie, textes), des images, des signaux numérisés (musique, parole, relevés de capteurs sur des instruments). Les fondements du logiciel sont le codage, le calcul et l'interaction.
Le codage Les procédés physiques de codage de l’information sont analogiques ou numériques.
Les premiers enregistrements du son étaient analogiques, sur disques ou bandes magnétiques. La télévision a longtemps utilisé la modulation des ondes, donc un phénomène physique continu, pour transporter les images et les sons. Le transport, le codage et le décodage, utilisent alors les caractéristiques continues des machines physiques. Ces codages sont sensibles aux déformations par l’usure matérielle et le bruit. Ils ont l'avantage de rester compréhensibles malgré la dégradation du signal.
Avec le codage numérique, qui supplante peu à peu le codage analogique dans tous les domaines, les machines physiques sont seulement le support d’une information qui est traitée, transformée, codée, décodée par des machines logicielles. Il y a « dématérialisation » de l’information, qui n’est plus liée à son support, qui peut être recopiée facilement et à très faible coût sans perte d’information. Il y a toutefois perte d’information par la compression des fichiers, souvent adoptée pour économiser de la taille mémoire et accélérer le traitement. Autre inconvénient, dans les systèmes numériques fondés sur « tout ou rien », il suffit d'un petit dysfonctionnement pour que l'ensemble des données deviennent incompréhensibles, voire perdues.
Vers 1930, Gödel invente pour faire des démonstrations d’indécidabilité un codage numérique des expressions logiques. Ce travail fournira plus tard des bases théoriques au codage informatique. Dans les codes informatiques ASCII (), ISO (), Unicode (), tous les caractères ont un équivalent numérique qui permet de passer d’une représentation interne sous forme de 0 et de 1 sur laquelle l'ordinateur calcule, à leur présentation lisible par l'homme sur un écran ou une feuille de papier.
Avec ces codes, on transforme des textes en nombres. On peut aussi numériser des images, du son, par discrétisation du signal. Le son est continu, mais un signal sonore peut être découpé en éléments très petits, inférieurs à la sensibilité de l'oreille humaine. Les images numérisées sont découpées en points (pixels) et chaque point est codé en fonction de ses propriétés. Si le pouvoir discriminant de l’œil est inférieur à l’approximation faite, on ne fait pas de différence entre l’image analogique et l’image numérique. C’est la même chose au cinéma pour la reconstruction du mouvement par l’œil à partir des fixes par seconde. Une fois toutes ces informations codées sous forme numérique, on va pouvoir calculer sur elles, comme sur les nombres. Non seulement le codage numérique est plus fiable, mais il est transportable et copiable avec un coût négligeable.
Le calcul Le calcul mécanique s’est développé au , donc bien avant l’informatique, avec les machines de Pascal et de Leibniz, les horloges astronomiques comme celle de Strasbourg ou de Lyon, puis les machines à tisser avec des programmes sur bandes perforées. Avec le codage numérique de toutes les informations, le calcul s'est beaucoup étendu par rapport à son origineGilles Dowek, Les Métamorphoses du calcul. Une étonnante histoire de mathématiques, Paris, édition Le Pommier, coll. « Essais », 2007, .. On calcule d'abord sur des nombres, qui ont une représentation binaire exacte ou approchée. On peut décrire des phénomènes par des systèmes d’équations pour la simulation informatique.
On peut aussi calculer sur des symboles, par exemple, concaténer des chaînes de caractères : riche + lieu = richelieu ou leur appliquer des fonctions : inverser (abcd) = dcba
Lorsque les images sont codées numériquement, on peut les redimensionner, les restaurer, les transformer par des calculs.
Le raisonnement a été défini comme un calcul avec la définition en 1965 de l’algorithme d’unification de Robinson John Alan Robinson, « A Machine-Oriented Logic Based on the Resolution Principle », Journal of the ACM, vol. 12, 23–41, 1965.. C’est la base du calcul formel, des systèmes experts, qui se développent à partir de 1975 et vont donner le coup d’envoi à l’intelligence artificielle.