2. Le logiciel
A. Le déploiement
La miniaturisation guide le rythme d'évolution de la
technologie du matériel mais c'est le déploiement logiciel qui
détermine la pénétration des ordinateurs dans les
activités qu'elles soient industrielles ou intellectuelles. Le logiciel
a complètement transformé l'ordinateur. Il est passé de
l'étape d'un outil pouvant dans la théorie solutionner un
problème à un outil qui le résout dans la pratique. Le
matériel est au logiciel ce que les instruments sont à la
musique. Léonard De Vinci avait défini la musique comme
"modelage de l'invisible", sa définition est d'autant plus
adaptée pour décrire un logiciel.
Les progrès du matériel ont été
énormes et ils le sont tout autant pour le logiciel. La grande
majorité des logiciels avait été inventée 15 ans
seulement après que Von Neuman ait définit l'architecture des
machines. Les programmeurs attendaient même des machines bien plus
puissantes pour pouvoir progresser. Pour s'en convaincre il suffit de regarder
les dates d'apparition des langages : Fortran en 1957, Lisp en 1959, Cobol en
1960, Basic en 1964,... Il en a été de même pour les OS
où les fonctions qu'un programme pouvaient exécuter en 1966 sous
l'OS des IBM 360 étaient quasiment les mêmes que celles de
l'OS/390 en 1995.
Les tous premiers programmes des ordinateurs ont
été conçus par des mathématiciens et des
scientifiques car ils croyaient que c'était du travail logique et
simple. Mais le logiciel s'est révélé bien plus
délicat à développer qu'ils ne l'avaient pensés. A
l'époque les ordinateurs étaient têtus, ils faisaient ce
qui été écrit plutôt que ce qui était voulu.
Les programmeurs sont donc apparus, ils n'étaient ni
mathématiciens, ni scientifiques mais étaient engagés dans
une nouvelle histoire avec les ordinateurs.
B. L'évolution des
langages de programmation
Les prémices des langages de programmation sont aussi
vieilles que le calculateur digital. Il a donc fallu inventer des notations
symboliques (un langage), ces notations sont ensuite traduites en code binaire
par des autres programmes (un compilateur). Le langage qui a été
le plus influent est le Fortran (développé en 1954 et 1957 par
John Backus & co. chez IBM). A l'époque, il n'était pas
certain que le compilateur puisse suivre la machine afin de produire du code
efficace. Pourtant l'objectif a été atteint et Fortran est encore
utilisé de nos jours. Mais Fortran avait des contraintes inutiles, des
limitations dans les structures de données et des carences dans le
contrôle logique du programme. Dans une moindre mesure on peut
considérer que les nouveaux langages ont vu le jour pour solutionner les
défauts de Fortran.
Malgré toutes les tentatives pour sortir un langage
universel par un comité (Cobol), une organisation commerciale (PL/I),
une personne (Pascal), ou par le ministère de la Défense
américaine (ADA) celles-ci ont échoué et ont ouvert la
voie à d'innombrables langages dont seulement une toute petite dizaine
est aujourd'hui utilisée.
A l'inverse du matériel, les forts progrès du
logiciel ne viennent pas d'une seule et même technologie mais d'un
ensemble de paramètres (structures de contrôle des programmes,
environnement de programmation, outils de programmation, etc). Malgré
cela, certains continuent de coder dans des langages qui datent de plus de 30
ans (Fortran).
"Je parle en espagnol à Dieu, en italien aux
femmes, en français aux hommes et en allemand à mon cheval"
disait Charles Quint, il n'y a pas de langage idéal en informatique
chacun fait selon ses sensations.
|