
Buzz Aldrin (Mission Apollo 11)
En 1960, il n'y a guère que quatre langages de programmation pour faire tourner les encombrantes machines proposées par une poignée de constructeurs :
Le FORTRAN utilisé principalement pour le calcul scientifique, le COBOL conçu pour la gestion, l'ALGOL plébiscité par les universitaires et le LISP
spécialisé dans le traitement des listes.
Comme on l'a vu, ce sont les descendants de l'ALGOL qui ont imposé l'usage de la programmation structurée rendant plus aisée la programmation.
D'autres concepts très importants eux aussi vont naître à cette époque. Ils vont participer à l'évolution de l'informatique et auront des effets encore aujourd'hui.
Certains sont liés à la guerre froide entre l'URSS et les États-Unis. Ces derniers, en retard dans la conquête spatiale, vont mettre les bouchées doubles pour
retrouver leur suprématie : objectif, envoyer des hommes sur la Lune avant la fin de la décennie. Ce sera chose faite le 21 juillet 1969.

Circuit intégré Intel 8742
L'informatique et les ordinateurs vont bien sûr être mis à contribution
La NASA a des exigences drastiques : le module lunaire ainsi que le module de commande devront être équipés chacun d'un ordinateur dont le volume ne dépassera
pas un mètre cube. Ces ordinateurs devront effectuer des traitements en temps réel, être multitâches et d'une fiabilité maximale.
L'AGC (Apollo Guidance Computer) atteindra cet objectif concernant l'encombrement grâce notamment à la réalisation d'un processeur comprenant quelques milliers de
circuits intégrés formant des portes logiques NON-OU à base de transistors et de diodes.

Margaret Hamilton en démonstration dans le module de commande.
Il sera équipé d'un système d'exploitation conçu par J. Halcombe Laning, système qui sera effectivement multitâche. De plus, il saura prioriser les tâches en cours
pour éviter les éventuels bugs dus à la saturation de la mémoire. Cette fonction sauvera Neil Armstrong et Buzz Aldrin en gérant correctement une alerte au cours
de la descente vers le sol lunaire trois minutes avant l'alunissage.
Quant aux différents programmes nécessaires, il seront réalisés en langage assembleur au Charles Stark Draper Laboratory (Massachusetts Institute of Technology) par une
équipe qui comptera jusqu'à 350 personnes sous la direction de la désormais célèbre Margaret Hamilton, âgée de 29 ans seulement quand elle y prit ses fonctions.
Les codes sources de ces programmes sont désormais consultables sur la plateforme Github (voir En savoir plus).

Arpanet en septembre 1974
Pendant ce temps, une autre révolution se prépare. En 1962, la DARPA (Defense Advanced Research Projects Agency) engage Joseph Carl Robnett Licklider pour diriger
le bureau Contrôle-Commande.
Lui et son compère Fred Frick sont partisans du temps partagé sur les ordinateurs. Les ordinateurs sont très coûteux et deviendraient
plus rentables si on appliquait systématiquement cette technique. Cela permettrait, en plus, de faire partager plus facilement les ressources entre ordinateurs.
De nombreuses personnes vont s'impliquer dans ce projet dénommé ARPANET et c'est la transmission par commutation de paquets qui sera privilégiée. Beaucoup plus
rationnelle que la commutation de circuits, cette méthode préfigure le protocole TCP/IP qui prévaudra quelques années plus tard pour Internet.
Une grande première eut lieu le 29 octobre 1969 à 22 h 30 entre l'Université de Californie à Los Angeles (UCLA) et l'Institut de recherche de Stanford : le mot LOGIN
sera transmis entre les deux institutions. À cause d'un bug, il faudra une heure pour transmettre le mot entier, mais c'était là le début d'une grande histoire.

Félix
Enfin, une autre révolution majeure va avoir lieu dans les années 1960, encore une fois à l'initiative de la NASA. Il s'agit de l'avènement des Systèmes de Gestion
des Bases de Données (SGBD).
Jusque-là, les informations étaient enregistrées dans des fichiers et étaient manipulées directement par les programmes. Par exemple :
Fichier
Animaux
Médor, Chien, 2004, Mâle, Pâtée, Aboyer; Félix, Chat, 2011, Mâle, Croquettes, Miauler; Nestor, Poisson rouge, 2015, Indéterminé, Daphnies, Faire des bulles; Plume, Oiseau, 2018, Femelle, Graines, Siffler....

Médor
Imaginez qu'il y ait dans ce fichier une cinquantaine de chiens et autant de chats, si vous changez d'avis et que vous vouliez donner des croquettes aux chiens et de la pâtée
aux chats, vous aurez une centaine de corrections à faire. C'est long et vous pourrez en oublier. Et ce n'est pas le seul inconvénient de cette façon de gérer les données.
Revenons à notre programme Apollo. La NASA avait à gérer un nombre faramineux de données utilisées par de nombreuses applications réparties sur des ordinateurs différents.
Il y avait donc un très grand intérêt à travailler sur des fichiers communs pour que tous aient accès aux mêmes informations tout en évitant les redondances.
Dans ce but, une première version d'un système de base de données a alors été mise sur le marché par IBM. Il s'agit du logiciel Information Management System (IMS).
Dans ce système, les informations étaient organisées de manière hiérarchique, un système assez simple qui répondait bien aux besoins de la NASA.
Par la suite, les bases de données relationnelles ont été préférées aux bases de données hiérarchiques :

Plume
Table
Animaux
Nom
|
Espèce
|
Naissance
|
Sexe
|
Médor
|
Chien
|
2004
|
Mâle
|
Félix
|
Chat
|
2011
|
Mâle
|
Nestor
|
Poisson rouge
|
2015
|
Indéterminé
|
Plume
|
Oiseau
|
2018
|
Femelle
|
Table
Espèces
Espèce
|
Aliment
|
Expression
|
Chien
|
Pâtée
|
Aboyer
|
Chat
|
Croquettes
|
Miauler
|
Poisson rouge
|
Daphnies
|
Faire des bulles
|
Oiseau
|
Graines
|
Siffler
|

Nestor
Ici, la base de données est composée de plusieurs tables qui comprennent des colonnes avec un identificateur (Nom, Espèce, Naissance, Sexe ...) et des lignes (ou tuples).
L'accès et la manipulation des ses données seront possibles à travers un langage particulier qui lui-même pourra utiliser différents "moteurs" de base de données.
On voit immédiatement un des intérêts de ce système. Pour modifier l'aliment donné aux chats, il suffit de changer une seule information dans la table Espèces.

Un logo de dbase
Il existe plusieurs langages de gestion de base de données. Citons-en deux parmi les plus connus :
- dBase très populaire dans les années 1980 commercialisé par
Ashton-Tate pour les machines Apple et IBM-PC. En 1991 dBase a été repris par Borland (dBase IV) puis par Ksoft qui a mis sur le marché dBase Plus.
- SQL, créé en 1974, est un langage reconnu de nos jours par la plupart des systèmes de gestion de bases de données relationnelles.
Internet et, par conséquent, le Web sont aussi gros consommateurs de base de données. L'une des solutions les plus utilisées actuellement sur Internet est formée du
couple PHP/MySQL, basé sur SQL. On reparlera de ce couple bientôt.

David Axmark
Mysql a été créé par le suédois David Axmark avec l'aide de Michael Widenius et d'Allan Larsson en réaction à la lourdeur et au coût des systèmes du marché.
Mysql est "Open source", c'est-à-dire qu'il peut être librement redistribué, que le code source est public et qu'il est possible de créer librement des versions
dérivées.
L'une des spécificités de MySQL est de pouvoir gérer plusieurs moteurs au sein d'une seule base. Chaque table peut utiliser un moteur différent au sein d'une base
afin d'en optimiser l'utilisation.
En attendant, voici un petit aperçu des commandes SQL :
UPDATE Espèces SET Aliment="Croquettes" WHERE Espèce="Chien"
et
UPDATE Espèces SET Aliment="Patée" WHERE Espèce="Chat"
Une fois ces commandes exécutées, par exemple avec le couple PHP/MySQL, la table Espèces deviendra :
Table
Espèces
Espèce
|
Aliment
|
Expression
|
Chien
|
Croquettes
|
Aboyer
|
Chat
|
Pâtée
|
Miauler
|
Poisson rouge
|
Daphnies
|
Faire des bulles
|
Oiseau
|
Graines
|
Siffler
|
Pour les non-anglophones,
UPDATE = Mettre à jour, SET = Placer et WHERE = où. Et pour les chiens et les chats, bon appétit !