Programme des seancesDémythifier l'Ordinateur en Biologie

Histoire de l'informatique

Le terme informatique fut crée (en 1962 par Philippe Dreyfus) par la réunion des deux termes information et automatique. Il s'agit du traitement automatique de l'information.

LES PRINCIPES DE BASE

L'automatisme

L'une des traditions dans lesquelles l'informatique puise une partie de sa force est celle de l'automatisme. Un automate est une machine imitant les mouvements, les fonctions ou les actes d'un corps animé.

Les premiers automates répondaient au principe de programmation, c'est-à-dire d'exécution d'une séquence finie d'évènements, (voir la technique de l'arbre à cames).

L'information

L'information analogique a comme support un signal continu, une oscillation dans une ligne électrique par exemple.

L'information digitale désigne l'information codée de façon symbolique par des chiffres (par exemple, décimaux). Les ordinateurs traitent des informations digitales codée en base 2 (binaire). Le message transmis est alors constitué par des successions (ou paquets) de chiffres, sous forme de signaux binaires.

Ce que l'on appelle la théorie de l'information, (Claude Shannon, 1948), fournit une mesure de quantité d'information dont l'unité est le "le bit" (Binary digIT ; digit = nombre d'où digitaliser = numériser). Le Bit, c'est la quantité d'information contenue dans le choix élémentaire entre deux possibilités également probables, comme dans le cas du lancer d'une pièce de monnaie pour obtenir pile ou face.

L'une des premières utilisation du code binaire par une machine fut le métier à tisser de Jacquard. Joseph Marie Jacquard (1752-1834) construisit en 1804 le premier métier à tisser entièrement automatique commandé par un système de cartes perforées : un tambour mobile soulève des crochets. Les trous -ou leur absence- sur les cartons qui défilent interviennent directement sur la position des fils de chaîne au moment du passage du fil de trame, commandant ainsi le motif du tissu.

Les calculateurs (Computer)

A la fin du XIXème siècle on assiste à une explosion d'innovations en matière de machines de bureau. Le principe du clavier est adapté (car il commencait à être utilisé sur des machines à écrire). Les "comptomètres" comportent donc des touches représentant des chiffres là où traditionnellement il fallait tourner des roues (comme dans la machine de Pascal) ou faire coulisser des curseurs dans des rainures.

Trois grands types de calculateurs seront mis au point dans les années quarante :

Les calculateurs numériques électroniques furent assez vite considérés comme plus avantageux en raison de la rapidité de commutation: on pouvait actionner un circuit ouvert/fermé plusieurs centaines de milliers de fois par seconde grâce à l'absence de tout frottement mécanique.

L'ordinateur moderne

La seconde guerre mondiale a joué un rôle décisif dans l'invention de l'ordinateur moderne. Plusieurs chercheurs, dont John von Neumann, travailleront aux côtés de l'armée pour mettre au point des machines - modèles réduits du cerveau humain- permettant d'en comprendre mieux le fonctionnement et d'en faire un auxiliaire puissant dans la résolution de certains problèmes abstraits ou nécessitant la manipulation d'un très grand nombre de données. En 1943 le BRL (Balistic Research Laboratory - John von Neumann était membre du conseil scientifique du BRL) était complètement débordé, il produisait 15 tables de calcul de tir par semaine alors que la demande était de 40. Des calculateurs humains (en majorité des femmes diplômées des collèges américains) étaient embauchés par centaines. En moyenne un calculateur humain mettait 3 jours pour calculer une seule trajectoire (il en fallait plusieurs milliers par table) alors qu'un analyseur différentiel calculait en 15' (mais il fallait une à deux heures de cablage à chaque nouvelle opération !).

L'ENIAC (Electronic Numerator, Integrator, Analyzer and Computer) ou "projet PX" (nom secret de l'ENIAC, classé secret militaire), opérere la transition entre les derniers calculateurs et les premiers ordinateurs. La construction de l'ENIAC démarra en juin 1943 à la Moore school de l'université de Pennsylvanie et fut achevée en novembre 1945. L'ENIAC avait une grande vitesse de fonctionnement, était programmable et universel. Mais pour programmer l'ENIAC il fallait tourner à la main des milliers de commutateurs et brancher spécialement des centaines de câbles.

Lors de sa première démonstration publique en 1946, l'ENIAC additionna 5000 nombres en une seconde et calcula en 20 secondes la trajectoire d'un projectile qui mettait 30 sec pour atteindre sa cible (là où un calculateur humain mettait 3 jours!). C'était une machine énorme composée de 40 panneaux disposés en fer à cheval qui pesaient environ 30 tonnes et avaient une surface au sol de 160 m2. Elle était actionnée par un moteur équivalent à deux puissants moteurs de voitures de 4 cylindres et produisait la chaleur de 50 chauffages domestiques. On disait (mais c'est une légende) que lorsqu'elle se mettait en marche toutes les lumières du quartier de Philadelphie Ouest s'éteignaient.

En parallèle, en Angleterre la machine Colossus (mise au point par Alan Turing) était utilisée au nord de Londres pour le décryptage des messages de la marine allemande. Ces messages étaient décodés par une série de machines appelées Enigma qui à l'aide de clés et de plusieurs millions de permutations décryptaient automatiquement les messages allemands.

Le 20 Avril 1951 un test eu lieu au cours duquel un avion fit inopinément irruption dans le ciel du Massachusetts. Repéré par un radar d'alerte il apparut sous forme d'un point brillant sur un écran du Whirlwind (prototype des ordinateurs destinés à cet usage) avec la mention T (pour target:=cible). Un avion intercepteur dont le point sur le radar était accompagné d'un F (pour Fighter :intercepteur) est alors dirigé sur la cible. L'ordinateur calcule la trajectoire d'interception et guide l'intercepteur sur la cible. L'innovation centrale était ici que, pour la première fois dans l'histoire de l'humanité, un dispositif non humain était utilisé pour traiter de l'information et décider de la réponse approprié en temps réel et dans un environnement changeant.

La société IBM fut fortement impliquée dans la construction d'ordinateurs pour la défense. Il faut attendre la mise au point du réseau SABRE (SABRE = Semi-automatic Business-related Environment.) par IBM dans les années soixante (sytème télématique de réservation des places d'avion de la compagnie American Airlines) pour que l'ordinateur soit utilisé dans le civil comme système d'information.

L'informatique

L'objet de l'algorithmique est la conception et l'optimisation des méthodes de calcul en mathématiques et en informatique. Le terme d'algorithme (qui s'origine dans le nom du mathématicien persan Al Khwarizmi) est une notion assez ancienne que l'on trouve dans un traité d'algèbre du VIIIème siècle. Il a trouvé sa forme achevée grâce au mathématicien anglais Alan Turing. Un algorithme (ou procédure effective chez les anglo-saxons) est l'ensemble des règles permettant la résolution d'un problème donné. Ces règles se présentent sous forme d'une suite d'opérations élémentaires obéissant à un enchaînement déterminé.

Turing a décrit une machine hypothétique consistant en une bande de papier sans fin et un pointeur qui pouvait lire, écrire ou effacer un symbole, déplacer la bande vers la droite ou vers la gauche, pointer une des cases du papier et s'arrêter.

Avec un dispositif aussi simple, tous les problèmes que l'on pouvait décrire étaient susceptibles d'être résolu par une machine (à mémoire infinie).

La voie était donc toute tracée vers la conception d'une machine réalisant effectivement le traitement automatique de l'information.

Turing proposa en 1950 un "test" connu sous le nom de "jeu de l'imitation" pour déterminer si les machines pouvaient penser. Des neurophysiologistes de leur côté (McCulloch et Pitts) identifient complètement le système nerveux à une machine logique, un "automate fini" fonctionnant sur le modèle d'une machine de Turing. L'originalité de cette hypothèse était que les réseaux de neurones y étaient considérés comme ayant une activité binaire. Il y avait donc une identité parfaite de la pensée et de son incarnation dans le système nerveux.

Les progrès en matière d'informatique n'iront pas à la même vitesse selon que l'on considère les principes de base, les langages ou les composants. Les principes de base mis au point en 1945 et qui déterminent l'architecture des ordinateurs n'évolueront pratiquement pas. Les langages de programmation connaîtront eux une certaine progression. Le matériel, enfin, se perfectionnera sans cesse et constituera la vitrine de l'informatique toute entière.

LES LANGAGES DE PROGRAMMATION

Un programme sert à transformer un problème concret en une suite de procédures logiques et abstraites formulées de telle sorte qu'une machine effectuant un petit nombre d'opérations logiques puisse les traiter sans erreur.

Un langage de programmation est un ensemble d'instructions qui permettent la transcription du problème considéré.

Il faut interposer entre le "code" utilisé par la machine et le problème posé, un autre langage, traduisible dans le code de la machine et compréhensible par quiconque ne connaît pas le code.

Là où l'ordinateur se contente dans son code de ce que deux chiffres à additionner soient représentés par des nombres binaires et l'opération d'addition ou de soustraction par un autre nombre binaire, un langage de programmation prévoira que l'utilisateur tape au clavier par ex : SOU, suivi de deux chiffres exprimés en décimal.

Cette instruction claire pour l'être humain sera traduite en code-machine et traitée comme telle par l'ordinateur.

De même toutes les instructions utiles au fonctionnement d'un ordinateur - par ex, début, stop, mettre dans tel endroit de la mémoire, imprimer etc… - peuvent être exprimées dans un langage de programmation sous la forme de symboles proches du langage naturel.

Le premier rédacteur d'un tel langage fut Alan Turing. Ce langage contenait cinquante instructions qui étaient automatiquement transcrites en binaire par l'ordinateur.

L'une des premières grandes figures de la programmation fut une femme Grace Murray Hopper qui termina sa carrière comme capitaine dans le corps de réserve de la marine après s'être engagée volontaire durant la dernière guerre mondiale. Elle développa sur l'UNIVAC 1 ce qui fut appelé la "programmation automatique", un programme interne qui transformait les instructions de l'utilisateur en instructions-machines codées en binaire. Elle développa ce que l'on appelle un système de compilation utilisant des mots à la place des symboles mathématiques.

Le premier véritable langage de programmation fut le FORTRAN (FORmula TRANslation) mis au point sur l'IBM 701 de 1953 à 56. Lordinateur n'était pas conçu pour en lire et exécuter directement les instructions. Il fallait donc écrire un programme intermédiaire, le compilateur, qui traduisait tout programme dans le langage codé de la machine. Le fortran pouvait donc fonctionner sur n'importe quel ordinateur mais pour chaque modèle il fallait un compilateur approprié.

Le langage Fortran était plus particulièrement dédié aux calculs scientifiques.

D'autres langages de programmation seront conçus, le COBOL (COmmon Business-Oriented Language) développé par Grace Murray Hopper, sera dédié aux applications administratives, commerciales, et au secteur tertiaire en général. Sa mise en place date de 1960 et fut financée par le département de la Défense américain dans le but de disposer d'un langage indépendant du modèle d'ordinateur.

L'ALGOL (ALGOrithmic Language) est un langage très théorique mis au point en 1960 par des européens. Peu utilisé, il fut très étudié comme modèle.

LISP, PROLOG langages dédiés à l'intelligence artificielle ainsi que PASCAL ont apporté quelques progrès en matière de programmation.

Le BASIC (Beginner's All-purpose Symbolic Instruction Code), conçu pour la micro-informatique et pour écrire des programmes courts, s'adressera pour l'essentiel à des non-initiés.

Cette liste n'est pas exhaustive...

LES COMPOSANTS

L'architecture

Les quatre éléments fondamentaux d'un ordinateur sont :

Que ces éléments soient dans des armoires séparées ou intégrés au sein d'une même"puce" ne change rien. L'architecture de base est toujours la même.

Les perfectionnements du matériel

Le transistor (transfer conductance resistor) et en particulier celui réalisé en silicium (les premiers semi-conducteurs étaient en germanium) fut utilisé pour remplacer les lampes à vides afin de confectionner les unités logiques de traitement de l'information.

L'étape suivante fut la mise au point du circuit intégré (IC) base de la miniaturisation des composants. Le circuit intégré est une petite plaque où sont superposés des couches successives de matériaux, comme l'aluminium, qui permettent de graver dans la matière, des transistors, des amplificateurs, des résistances et des circuits de connexion permettant aux informations de circuler sous une forme binaire et d'y être stockées et traitées logiquement.

Les tores de ferrite ont constitués les premières mémoires, mais en 1970, la firme Fairchild produit la première mémoire intégrée sur une puce suivant un principe analogue à celui du circuit intégré. Il s'agissait alors d'une "mémoire morte" (ROM: Ready-Only Memory) que l'on peut uniquement lire. La même année Intel produisit la première mémoire vive (RAM: Random-Access Memory), mémoire dans laquelle on peut lire, effacer et écrire les informations).

La même société Intel réalisa en 1971 le premier "microprocesseur" (qui contient plusieurs milliers de transistors) et qui réunissait et intégrait dans un même ensemble miniature les unités du traitement logique et la mémoire.

Ces performances ouvrent la voie à la conception des premiers micro-ordinateurs.

Le micro-ordinateur

Dès le début des années 1960, IBM (Intelligent Business Machines), décide de lancer une série d'ordinateurs de différentes puissances compatibles entre eux. L'invention de la notion de compatibilité signifiait qu'on pouvait changer de machines sans reécrire les programmes… à condition de rester IBM!

La série 360 s'impose rapidement comme norme du système d'exploitation de la machine. L'une des innovations de la série 360 fut la mise au point du code EBCDIC (pour Extended Binary Coded Decimal Interchange Code). Enfin la série 360 innovait également sur le plan de la mémoire. Désormais la case mémoire minimale sera le caractère de 8 chiffres binaires nommé octet. La mémoire de l'ordinateur est donc formée par combinaison de ces briques de base que sont les octets. Le fameux Ko, qui mesure la taille de la mémoire (Ko pour kilo-octet) vaut 1024 octets (1024 = 210), donc 1024 caractères. Tous les assemblages de mémoire sont donc des multiples de 8. Ainsi, 16Ko, 64Ko ….

Les ordinateurs deviennent de plus en plus petits (les mini-ordinateurs PDP 1 à 8 avaient la taille de gros refrigérateurs domestiques).

Les premiers micro-ordinateurs dont les prototypes sont de Digital voient le jour en 1973. A cette occasion fut inventé le disque souple (floppy disc). Mais IBM et Digital jugèrent à l'époque qu'il n'y avait pas d'usage concret immédiat pour ce genre de machine.

Le premier Apple date de 1977 et le PC (Personal Computer) d'IBM de 1981.

Le micro-ordinateur est né du projet social (début des années 1970 ) d'un groupe radical américain qui avait surtout comme souci la démocratisation de l'accès à l'information, plutôt qu'un désir d'innovation technique.

Un groupe d'étudiants de Berkeley crée en 1970 (en pleine lutte contre la guerre du Viet-nam) la revue radicale People's Computer Company.

Une première réalisation de ce projet politique sera Resource One, une sorte de communauté informatique installée derrière un local d'artistes de la banlieue de San Francisco et organisée autour d'un IBM XDS-940. Une "base de données urbaines" accessible à tous collectait toutes les informations utiles aux activités communautaires de la région.

Un second projet vit rapidement le jour en Aôut 1973: Communauty Memory (mémoire communautaire), qui utilisait un réseau de terminaux dispersés dans toute la région. L'objectif était toujours une "démocratie directe en matière d'information".

Ces objectifs semblaient rejoindre ceux de Norbert Wiener pour l'avènement d'une société de communication transparente et pacifique.

Le premier véritable micro-ordinateur commercialisé, l'ALTAIR, fut mis au point à Albuquerque en Californie. Plusieurs groupes réflechissaient à la possibilité de créer une technologie alternative avec des moyens simples.

Ces groupes s'appelaient : Loving Grace Cybernetics, IBM pour Itty-Bitty Machine Company, ou Kentucky Fried Computer en réference à la chaîne de restauration rapide de poulet, puis Apple dont le premier logo était formé d'un blason sur lequel on pouvait voir Newton sous un arbre où pendait la pomme, fruit de la connaissance!

Le micro-ordinateur naquit donc au milieu de groupes plus ou moins hippies très sympathiques. L'Apple II de Stephen Wozniac et Steven Jobs construit dans un garage apporta rapidement la fortune à ses créateurs. Une partie des bénéfices fut investie dans le financement de deux gigantesques festivals rock en 1982 et en 1983.

Le micro-ordinateur trouva rapidement des relais en dehors du mouvement contestataire et le gouverneur de Californie Jerry Brown l'encouragea fortement car disait-il "il est à l'origine d'une culture entièrement différente où l'information est l'égalisateur et met à bas la hierarchie".

L'annonce du modèle suivant d'Apple, le MacIntosh s'accompagnera d'un slogan en continuité avec les origines de la micro-informatique : "Le principe de la démocratie tel qu'il s'applique à la technologie est : une personne, un ordinateur".

IBM attendra 1981 pour lancer son Personal Computer.

L'industrie des logiciels s'est beaucoup développée depuis 1975. L'un des enjeux est alors devenu la question de la compatibilité. Un logiciel donné (un programme de traitement de texte par exemple) ne peut fonctionner qu'avec un seul système d'exploitation (qui est le système qui traduit le programme dans le langage de l'ordinateur).

IBM a choisi en 1980 comme système d'exploitation le MS-DOS. Tout constructeur d'ordinateur qui souhaite que ses machines puissent utiliser les nombreux logiciels fabriqués par et pour IBM se voit contraint d'utiliser le même système d'exploitation.

Apple a maintenu son propre standard, MacOS. Ses machines ne sont donc pas compatibles IBM.

Enfin, le système unix, initialement développé pour de grosses machines, a été adapté pour tous les micro-ordinateurs (qu'ils soient compatibles IBM ou Mac) sous le nom de Linux.

Sources bibliographiques