En 2000 c’était simple et compréhensible par un gamin de dix ans : les programmeurs avaient été trop bêtes ou négligents ou leurs chefs trop pingres pour caser 4 chiffres dans les dates, et il avait fallu tout corriger si on ne voulait pas que notre civilisation s’effondre. Je reste d’avis que la quasi-hystérie de certains milieux sur le sujet est la raison principale qui l’a transformé en non-événement complet. Comme un commentateur l’a écrit, un missile de croisière parti tout seul s’abîmer en mer n’aurait pas fait de dégât mais aurait marqué les esprits. Ça ne s’est pas passé, et le bug apparaît rétrospectivement comme une fausse alerte.

En 2038 ce sera plus délicat :

  • le concept de date Unix codée en secondes sur 32 bits est nettement plus ésotérique pour le téléspectateur moyen, et surtout pour ses chefs non techniciens ;
  • le correctif qui consiste à tout recompiler en 64 bits aura été appliqué de manière à peu près universelle d’ici là (quand on voit qu’une machine à laver utilise des puces qui était à la pointe en 1985, on peut être optimiste), d’où paradoxalement un net relâchement de l’effort éventuel sur les dernières puces restantes ;
  • le bug sera nettement plus coton à traquer (pas de champ bêtement déclaré comme ANNEE VARCHAR(2)) ;
  • le nombre d’applications, de logiciels embarqués, de puces cachées... aura explosé d’ici là (il n’y a qu’à voir la progression depuis 1978...) ;
  • les programmes en Cobol qui traînent depuis 30 ans et ont dû être corrigé il y a huit à dix ans sont la preuve vivante de la longévité de nombre de logiciels. (Mine de rien, les trois systèmes d’exploitation principaux du moment (DOS/Windows, Unix, MacOS), même réécrits entre temps, ont des racines qui remontent toutes à plus de 20 ans... Du code qui tournera en 2038 existe donc déjà.)

« Bah, c’est dans 30 ans ! Après moi le déluge ! » diront les développeurs de base... Justement, dans trente ans :

  • rares sont ceux d’entre eux qui seront effectivement à la retraite pour s’en contreficher (tous ceux qui ont moins de 40 ans n’ont pas d’illusions à se faire vues les courbes démographiques…) ;
  • et la plupart d’entre eux seront de toute façon encore de ce monde (vue la progression de l’espérance de vie), donc forcément concernés.

Ce qui est rigolo est que certains évoquent des problèmes liés au calcul des intérêts sur 30 ans pour certains prêts (maximum légal au États-Unis paraît-il), qui apparaîtraient déjà. D’une part 30 ans n’est qu’un cas particulier, les prêts plus longs existant déjà de toute manière. D’autre part, si les banquiers corrigent le problème tout de suite, on aura largement le temps de l’oublier avant 2038... Si des industries calculent effectivement sur le très long terme, la plupart vend du « jetable ».

Bah, comptons sur quelques consultants pour remuer la sauce. Il devrait donc y avoir un pic d’activité des SSII entre 2035 et 2038, mais allez savoir dans quel pays en développement accéléré tout cela sera sous-traité à ce moment. En Afrique noire ? Au fond des dernières régions peu développées de Chine ? En Europe redevenue une région à bas coût ? Ou les Intelligences Artificielles s’occuperont-elles toutes seules du problème ?

En tout cas, notre civilisation est en régression : il y a une autre trentaine d’année, dans le passé cette fois, mon grand-père payait la dernière traite d’un prêt pour un immeuble acheté par un vague cousin ou oncle... 70 ans plus tôt !

Et une chose est sûre, le commis qui a calculé les mensualités n’était pas sensible à quelque bug YK que ce soit.

Micro-bibliographie sur Internet :