Palaiseau, le 24/07/1996
Monsieur le rédacteur en chef (Mon cher Philippe Boulanger),
Un journal d'information scientifique de
tout premier plan comme le vôtre se doit
d'informer ses lecteurs des dernières
nouvelles de la science. Il doit aussi le mettre
en garde, cela fait partie de ses
responsabilités, lorsqu'un danger, quelqu'il
soit, menace à l'horizon.
Aujourd'hui, si une peur irrationnelle
de l'an 2000 n'est pas de mise, malgré tout,
les secondes qui s'égrainent nous rapprochent
chaque jour davantage d'une catastrophe qui,
si des mesures drastiques ne sont pas prises,
risque d'engendrer un chaos économique et
social sans précédent. Exemple caricatural du
phénomène non linéaire, la mémorisation des
années dans les ordinateurs en sera la cause.
En effet, il y a de cela plusieurs décennies,
l'octet valait son pesant d'or dans les
ordinateurs d'alors ; une configuration de
128Ko à la fin des années soixante était celle
d'un super-ordinateur. Il était donc logique,
dans ces conditions, d'utiliser l'espace
mémoire avec parcimonie. C'est ainsi que
pratiquement tous les programmeurs de
gestion (utilisant le Cobol ou les langages
d'assemblage) furent pratiquement contraints
de représenter les années sur deux chiffres :
en effet, à quoi bon mémoriser 1968, alors
qu'il n'y avait pas d'ambiguité à utiliser 68, et
puis l'an 2000 était bien loin... Les
programmeurs de l'époque n'étaient pas
présomptueux au point de pouvoir imaginer
que plus de trente ans plus tard leurs
programmes, ou leurs structures de données,
seraient toujours utilisés. Mais voilà, les
programmes ont la vie dure, et aujourd'hui
encore une grande majorité de logiciels, de
bases de données, de masques de saisie
d'écran, mais aussi bien évidemment de
formulaires papier, n'utilisent que les deux
derniers chiffres des années.
Or malheureusement, les dates dans les
ordinateurs jouent en général un rôle très
important : par exemple permettre de
déclencher une certaine action à tel instant,
ou encore de calculer les agios dus entre deux
jours de découvert sur un compte bancaire. Il
est des lors évident qu'en franchissant le 31
décembre 1999 de nombreux ordinateurs
passeront de 99 a 00. Alors de nombreux
calculs seront lourdement faussés (même là
où a priori la date ne devrait pas intervenir :
à titre d'exemple, certains générateurs de
nombres aléatoires utiliseraient l'année lors
d'une division, or la division par 0 est jusqu'à
présent formellement interdite...).
Evidemment, pour ceux qui méconnaissent
l'ampleur du problème, la solution est simple
: il suffit d'étendre à quatre chiffres (ou à
plus, pensons a nos descendants...) les zones
destinées à contenir des années.
Malheureusement, les dernières évaluations
américaines montrent qu'il y aurait au moins
210 milliards de lignes de Cobol à examiner,
puis à corriger, ce qui représente une dépense
(certainement sous-estimée comme d'habitude
en informatique et ailleurs) de 400 milliards
de dollars. Plus grave encore, il apparait que
pour certaines grandes entreprises qui ne se
sont pas encore attaquées au problème,
malgré les trois années restantes, il est déjà
trop tard ! La solution est donc complètement
disproportionnée et les investissements qu'elle
demande ne correspondent,
malheureusement, qu'à une simple opération
de maintenance et sont donc, pour certains,
inacceptables, d'ou l'une des causes, très
certainement, de l'immobilisme actuel.
Le problème est connu depuis très
longtemps. A ma connaissance, le premier
qui ait attiré mon attention sur ce sujet est
Arthur C. Clarke, dans son ouvrage "Ghosts
of the Great Banks" (1990). En France, il
semble que la fébrilité ne soit pas de rigueur
dans ce domaine, or comme un malheur
n'arrive jamais seul, notre pays passera de
plus à la numérotation téléphonique à 10
chiffres le 18/10/1996 et, en tant que pays
européen, devra se convertir à la monnaie
unique dans les années à venir. Or les dates,
les numéros de téléphone, les taux de taxes,...
sont partout présents : ordinateurs,
magnétoscopes, alarmes, ascenseurs,..., fusées
nucléaires,... Alors que va-t-il se passer le 31
decembre 1999 ?
Bien cordialement,
Jean-François COLONNA