En réalité, ce n'est pas un problème technique, mais plutôt un problème de cerveau humain. Cela peut vous surprendre, mais laissez-moi vous expliquer. J'ai une bonne base pour ce que je dis.
Une partie du problème tient à la manière dont les mises à jour logicielles et les correctifs sont appliqués, mais je ne pense pas que ce soit le cœur du problème.
Les machines matérielles sont devenues beaucoup plus rapides au fil des ans, mais la capacité du logiciel à le charger a augmenté à un rythme encore plus rapide, donnant l'impression et la réalité que certaines choses sont plus lentes qu'elles ne le sont en réalité.
Par exemple, ma première boîte Z-80 avait une vitesse d'horloge de 1 mégahertz. Maintenant, ma plate-forme de développement tourne à 2,66 GHz, soit plus de 2 000 fois plus vite. Je ne me souviens pas exactement, mais tout le CPM correspond à environ 16kb. Maintenant, Windows est celui qui sait combien il est gros, mais beaucoup plus gros. Il utilise de nombreuses couches d'abstraction qui permettent d'obtenir des résultats étonnants d'une manière plus générale, mais ces couches nuisent à la performance.
Permettez-moi de revenir au cerveau humain. Ce que l’on comprend bien, c’est que, pendant de nombreuses années, les ingénieurs en logiciel ont dit et croyaient, pour de bonnes raisons, que le matériel deviendrait de plus en plus rapide et que les logiciels n’auraient donc pas besoin d’être vigilants face aux problèmes d’optimisation. Les programmeurs ont donc fait le nécessaire pour que les choses fonctionnent rapidement au détriment de la vitesse, ... en pensant que les responsables du matériel s'occuperaient de ce problème. Les mises à jour et les correctifs sont donc faits en pensant qu’ils sont temporaires, c’est-à-dire à court terme.
C’est: à court terme, micro-pensée, à long terme, macro-problème.
J'ai lu un livre intéressant, il y a de nombreuses années, dans lequel deux scientifiques ont exposé ce problème de pensée humaine à court terme et à long terme, et effectué des expériences sur un large éventail d'êtres humains pour voir comment ils réalisaient ces compromis. Leur livre est New World New Mind, et les auteurs sont Paul Ehrlich et Robert Ornstein. Je dirais que c’est l’ouvrage le plus important que j’ai lu ces 20 dernières années, car c’est un cadre solide pour la résolution du problème.
Ce qu'ils ont noté, c'est que le cerveau humain a évolué à un moment où il était logique de prendre des décisions à court terme. Vis pour le moment et le jour, mais ne pense pas trop à l'avenir. Cela n'en valait simplement pas la peine. Ainsi, notre intuition des choses que nous utilisons souvent pour prendre des décisions est une très vieille partie du cerveau et n'est pas bien adaptée à de nombreux problèmes modernes. Et le cerveau n'a pas eu le temps réaliste d'évoluer alors que le monde évolue rapidement avec la croissance démographique et l'impact de la technologie sur les choses.
Ehrlich et Ornstein, professeurs, ont découvert que des docteurs mais aussi des concierges très intelligents et bien formés, commettaient les mêmes erreurs devant les problèmes à court et à long terme. Nous pensons généralement que ce n’est pas le cas.
Un très bon exemple convaincant de la façon dont ce même problème se pose dans le monde d’aujourd’hui ne concerne PAS l’environnement matériel, mais c’est le grand frère de tout ce putain d’environnement dans lequel nous vivons. Nous, les humains, commettons généralement l’erreur de vivre pour aujourd’hui, mais le fait est que le réchauffement climatique est sur nous exactement parce que nous ne l’avons pas permis ni pris de mesures pour le combattre. C'est le ralentissement du matériel, par le problème logiciel, encore une fois, mais dans un contexte différent.
Ornstein et Ehrlich ont suggéré que nous serions peut-être en mesure de prendre des décisions plus correctes en fondant notre décision non sur notre instinct, mais plutôt sur des données et des statistiques. Ainsi, par exemple, si un ingénieur informaticien disposait de statistiques sur la vitesse à laquelle son logiciel ralentissait par rapport à la vitesse à laquelle le matériel s'accélérait, il pourrait prendre de meilleures décisions quant à ce qu'il faut inclure, ce qu'il faut laisser et combien d'optimiser les algorithmes. En d'autres termes, s'ils utilisaient des données réelles pour prendre des décisions, plutôt que leur instinct.
Merci pour la bonne question. Parfois, les questions simples sont les meilleures que je pense. cela m'a donné l'occasion d'envisager cela sous un nouvel angle. Je n'avais encore jamais vu le parallèle entre la question du logiciel matériel dans le contexte humain.