Outils et machines
Les humains ont parmi leurs principales caractéristiques leur capacité à fabriquer des outils, généralement pour une augmentation de leurs capacités physiques (le marteau est un poing plus solide, par ex.) ou se doter de nouvelles capacités : couper, forer, voir plus loin, etc.
Une machine est un objet plus extérieur au corps. La machine est définie ainsi dans le Larousse : Appareil ou ensemble d’appareils capable d’effectuer un certain travail ou de remplir une certaine fonction, soit sous la conduite d’un opérateur, soit d’une manière autonome.
C’est bien ce "une certaine fonction" qui distingue l’ordinateur des autres machines qui l’ont précédé dans l’histoire.
Là où une moissonneuse batteuse est designée pour moissonner, un balance pour peser, une foreuse pour forer, on définit l’ordinateur comme une machine potentielle, ce qui signifie que ce qu’elle peut faire n’est pas entièrement défini par son design.
Programmer et interfacer avec une machine
Si on regarder l’ensemble des machines depuis le point de vue de l’ordinateur, on peut se poser la question de sa programmation, c’est à dire de sa préparation en vue de l’exécution de ses tâches.
On voit bien que dans la plupart des machines, la programmation est fixée par la structure même de son mécanisme. La moissonneuse ne peut s’utiliser qu’en accord avec sa structure physique : les roues définissent son axe de déplacement, l’endroit où s’assied le conducteur est défini ainsi que la largeur de blé qui peut être fauché. Pour modifier ces paramètres, il faut modifier son design physique, déconstruire ou adjoindre des parties à sa structure.
De la même manière, la manière dont on peut interagir avec la machine fait partie de son design physique : leviers, roues, points d’ancrages on été pensé en amont et les modifier demande une modification physique de la machine.
Ce dépassement de ces limitations a été l’objet d’une grande partie du travail des ingénieurs dans l’histoire des techniques. Rendre plus adaptable les machines s’est fait en parallèle de la standardisation de l’industrie.
Une imprimante jet d’encre, aujourd’hui, est cependant toujours un proche cousin de la moissonneuse : elle est designée pour une tâche précise, et sur un format de papier précis.
Avec le temps, les machines ont pu devenir "multifonctions", mais un seul type de machine a dépassé ce terme pour devenir une machine "potentielle", c’est à dire dont l’usage n’est pas prédéterminé par sa structure, et c’est l’ordinateur. En ce sens, l’ordinateur est un des points culminants de la culture industrielle.
L’ordinateur, la machine potentielle
Un ordinateur est une machine qui manipule des données contenues dans une mémoire (binaires la plupart du temps) à travers une série d’instructions (on parle d’algorithme) pour obtenir un résultat immédiatement écrit sur un support, ou stocké à nouveau dans une mémoire. Tout ordinateur doit donc comporter des organes d’entrée et de sortie qui permettent à l’utilisateur de placer ses informations dans la mémoire et de lire les résultats après leur traitement.
Les premiers ordinateurs n’ont pas d’écran. La plupart du temps leur mission est de crypter/décrypter des messages ennemis ou calculer les fameuses "tables de tir", des manuels permettant de régler les canons sur le champ de bataille en fonction du type de charge, de la vitesse du vent, du point à atteindre. Des calculs complexes, précis et répétitifs qui ont poussé les ingénieurs à trouver des solutions algorithmiques. Pour comprendre les formes particulières qu’ont pris les ordinateurs au cours de l’histoire jusqu’à leurs formes actuelles, il faut remonter plus de deux siècles en arrière.
Reprendre le fil
L’origine de l’informatique est souvent posée en 1801, année de commercialisation du métier à tisser Jacquard. Ce métier à tisser révolutionne l’industrie textile en permettant la création de motifs complexes à partir d’une seule et même machine. Le métier Jacquard comporte en effet un système de lecture de cartes perforées, des cartes qui contiennent le "code" de motifs qui sont lus ligne par ligne par la machine, dessinant les motifs qui reposaient autrefois sur le savoir faire des fileuses. Désormais, pour changer de motif de tissage, il suffit de changer de jeu de cartes. Le savoir faire est transféré dans la machine, et l’industrialisation du textile va emmener derrière elle des bouleversements sociaux en masse. Le métier Jacquard va générer immédiatement du piratage industriel : un trafic de cartes perforées mais aussi des copies de la machine elle-même sont rapidement mis en circulation.
Entre Le métier Jacquard en 1801et les premiers ordinateurs des années 1940, il y aura plus d’un siècle pendant lequel les pionniers se heurtent aux limites de la mécanique. Lourdes et laborieuses à fabriquer, les machines mécaniques demandent des milliers d’heures de travail et posent des problèmes d’usure par frottement qui faussent les résultats.
Babbage, mathématicien et inventeur, s’intéresse à la construction d’une machine mécanique dite machine à différences et obtient des fonds du parlement anglais en 1823 pour construire une prototype. Cette machine a pour ambition de réaliser des tables nautiques, astronomiques et mathématiques exactes. Celles qui existent à l’époque sont calculées par des employés qui font des erreurs par fatigue ou ennui, ce qui conduit parfois à des erreurs diverses, ou dans le cas de la navigation, à des accidents.
- Modèle d’essai d’une partie de la machine analytique
- Construit par Charles Babbage, exposée au Science Museum de Londres.
Les différents prototypes que Babbage construit avec les fonds de l’argent gouvernemental comporte des problèmes mécaniques quasi insurmontables, et il en réécrit constamment les plans, sans arriver à quoi que ce soit de fonctionnel.
Entre 1834 et 1836, il conçoit cependant les plans d’une machine plus ambitieuse, la machine analytique. Cette machine serait nourrie de deux types de cartes perforées : un jeu de cartes pour les données, un jeu de cartes pour les instructions, c’est-à -dire le programme. C’est une véritable révolution conceptuelle. Cette machine ne sera jamais construite, pas plus que la version 2 de sa machine à différences, pourtant trois fois moins compliquée que la première version, dont il dessine les plans entre 1847 et 1849.
Il est a noter que pendant ses recherches théoriques sur la machine analytique, Babbage est contacté par Ada Lovelace, qui propose de traduire vers l’anglais, en 1842, un texte en français de Louis-Frédéric Ménabréa sur la machine de Babbage. Ada, amatrice de mathématique cherchant à échapper à sa condition de femme de l’aristocratie, effectue ce travail en 9 mois avec soin. Impressionné, Babbage l’invite à rédiger des notes supplémentaires sur le fonctionnement de la machine. Ada Lovelace n’a pas, en effet, que traduit du texte : elle a analysé et compris le fonctionnement de la machine.
C’est dans le cadre de cette collaboration avec Babbage qu’elle rédige vers 1843 le premier programme pour cartes perforées destiné à la machine analytique comme démonstration des capacités de la machine. Elle est donc la première personne dans l’histoire à avoir écrit un programme informatique pour une machine qui n’existera... qu’en 1910, construite par Henry Babbage, fils Charles, pour laver l’honneur de son père.
La première machine à calculer a été fabriquée par le philosophe Blaise Pascal en 1642 sous le nom de Pascaline puis reprise et améliorée pour les multiplications et divisions par philosophe Gottfried Leibniz en 1673.
Ces machines créés comme des défis intellectuels (Blaise Pascal la crée pour aider son père qui est monté en grade dans l’administration française) sont trop complexes pour une production à grande échelle et pour disposer de la première machine à calculer produite en série il faudra attendre 1851 avec l’Arithmomètre, et qui trouve rapidement sa place dans de nombreux bureaux comptables. Capables d’additionner, soustraire, multiplier et diviser grâce au cylindre cannelé du philosophe Leibniz. C’est un succès industriel, les calculatrices sont clonées par de nombreux fabricants en Europe et en Amérique. On déplace des curseurs, puis tourne une manivelle et le résultat s’affiche sur un ensemble de cadrans. L’arithmomètre cependant ne réalise qu’une seule opération à la fois. Que faire si on veut réaliser des calculs plus complexes, ou des calculs en série ?
De la mécanique à l’électromécanique
Comme on le verra, l’histoire de l’informatique est liée à l’industrie plus encore qu’à la recherche scientifique : elle restera jusqu’au années 1960 liée à la carte perforée hérité de Jacquard et Hollerith, et étendra son domaine d’application avec cette "machine à statistiques", outil permettant dans un premier temps de compter et de trier des cartes comportant des perforations qui sont autant d’informations structurées sur la surface de la carte, qui va devenir la tabulatrice quand elle va permettre de réaliser des opérations plus complexes d’addition, soustraction, multiplication et division sur des ensembles de cartes.
Herman Hollerit, un ingénieur liée à l’administration américaine dépose en 1887 un brevet pour une machine lisant les cartes perforées destinée à servir au recensement de population de 1990. Il a participé à celui de 1880, qui a demandé 9 ans de dépouillement et d’analyse, et entend bien accélérer le processus grâce à sa machine électro-mécanique et une carte comportant 210 perforations.
Son invention permettra en effet de faire le recensement de 1890 en 3 ans, avec une précision plus grande qu’un dépouillement humain et la possibilité de faire des recherches statistiques de manière beaucoup plus rapide. Combien de femmes dans tel état, combien de personnes d’origine russe dans telle autre, combien de personnes de plus de 30 ans dans telle autre encore ? La machine de Hollerith permet de trier les cartes selon un critère, et d’incrémenter des compteurs, avec au bout du traitement des chiffres précis et des cartes à nouveau employables.
La machine de Hollerith est "programmable" manuellement : on décide des critères de tri en créant une connexion entre un emplacement de la carte et un compteur.
Hollerith quitte l’administration en 1894 et fonde en 1896 la Tabulating Machine Corporation, qui au bout de plusieurs fusions deviendra IBM en 1924. Entretemps, les cartes perforées auront trouvé leur format définitif, celui imposé par IBM. Un seul autre standard de format de carte est proposé par Rand corporation, mais il ne pourra jamais d’imposer.
IBM devient une compagnie de très grande taille dès 1924, et est un partenaire privilégié de l’état américain. Ceci lui donne une position dominante et la capacité de produire de la recherche/développement autour de l’informatique naissante. Mais partout dans le monde, la tabulatrice et les cartes perforées se sont imposées dans la manipulation de l’information. Des machines existent, des employés sont formés à leur usages. C’est donc avec cette méthode de stockage de l’information que va avancer l’histoire de l’informatique dans les années 30 et 40, qui sont cruciales.
Les tabulatrices sont programmables comme la machine de Hollerith, mais vont intégrer progressivement des capacités de calcul supplémentaire. La programmation se fait via des panneaux complexes qui demande des ingénieurs dédiés, car on connecte des cables sur des plaques de contact. Cette approche électro-mécanique est la limite de ce type de machine, qui deviennent des monstres d’acier fragiles, bruyants et énergivores. De leur côté, les données en entrée et sortie, stockées sur des cartes, envahissent les dépôts et multiplient les problèmes de gestion.
Dans les années 60, on rencontre déjà les limites du stockage de l’information sur carte. D’autres solutions encore très chères se développent alors, comme le stockage sur bande magnétique ou le disque dur. Les cartes perforées seront encore employées jusque dans les années 80, dans les supermarchés du groupe Colruyt, en Belgique, par exemple.
L’architecture de von Neumann
L’informatique contemporaine nait avec l’architecture de Von Neumann, du nom de l’ingénieur Von Neumann, qui entre dans le comité du Ballistic Research Laboratory en 1940. Il calculera notamment l’optimisation de l’altitude de déclenchement de la bombe atomique d’Hiroshima et Nagasaki et sera un des théoriciens de la course aux armements.
Von Neuman, brillant mathématicien (anticommuniste et accessoirement harceleur de son personnel féminin notoire), formalisa le plan des ordinateurs en 4 parties distinctes :
– une unité arithmétique et logique, qui s’occupe des calculs eux-mêmes
– une unité de contrôle, qui cadence les opérations
– un dispositif d’entrée-sortie permettant d’interfacer avec l’extérieur
– une mémoire, qui contient à la fois les données et le programme qui indiquera à l’unité de contrôle quels sont les calculs à faire sur ces données. La mémoire se divise entre mémoire volatile (programmes et données en cours de fonctionnement) et mémoire permanente (programmes et données de base de la machine)
C’est cette mémoire interne à l’architecture qui est cruciale : depuis le métier Jacquard, c’est la machine qui "est" le programme, c’est-à -dire qui définit comment seront interprétées les données fournies. Les tabulatrices avancées pouvaient être modifiées dans leur traitement en recâblant le système de traitement, mais il s’agissait du coup d’un traitement manuel. Pour l’eniac, considéré comme le premier ordinateur, c’est aussi le cas...
Une machine, pour être un ordinateur, doit pouvoir être programmée. Ce qui signifie qu’on doit pouvoir stocker et modifier la procédure de traitement dans la mémoire de la même manière que l’on y stocke les données à traiter.
Le terme "architecture de von Neumann" est controversé car d’autres chercheurs ont théorisé cette architecture en même temps que lui ou même avant : Konrad Zuse et Turing notamment.
L’informatique entre aussi dans son ère moderne avec l’invention en 1947 du transistor, qui la fait basculer de l’électromécanique à l’électronique, avec des conséquences gigantesques : la miniaturisation, réduction des coups de développement et de consommation électrique seront exponentiels.
Cartes trouées en input et output
Pour communiquer avec les premiers ordinateurs, il fallait se plier à leur logique aussi bien pour leur communiquer des données et commandes, que pour lire les résultats des opérations. Rappelons que les premiers ordinateurs sont aussi appelés "calculateurs" parce que leur tâche première est de réaliser des calculs laborieux avec de grands nombres, qu’ils réalisent plus vite et plus précisément que les hommes. On leur communique des chiffres, un traitement algorithmique et on attend donc d’eux des résultats qui sont... d’autres chiffres.
Avec le ENIAC (1946), par exemple, on programme en connectant des câbles d’un module à un autre.
Ensuite, on communique à travers des cartes dans lesquelles on perfore des trous à des endroits précis. Le ENIAC répond en perforant lui aussi des cartes, qu’on peut interpréter et lister à l’aide de machines mécaniques (des tabulatrices, encore). Le principe des cartes perforées est le plus ancien moyen de stocker des données binaires : il est employé depuis les métiers à tisser Jacquard, dès 1801.