
l'ancien CTO d'Oculus réagit à un « exercice de pensée » sur une « apocalypse des CPU »
John Carmack, une célébrité dans le monde du développement de jeux vidéo et de la technologie, s'est souvent présenté comme un défenseur de l'optimisation logicielle. Ancien directeur technique d'Oculus VR et cofondateur d'id Software (une entreprise américaine de jeux vidéo qu'il a quitté en 2013), Carmack a redéfini ce que nous attendons d'un moteur de jeu et d'une expérience immersive. Récemment, il a lancé un débat audacieux qui pourrait bien bouleverser notre vision de l’évolution technologique : et si, en réalité, nous n’étions pas si dépendants du matériel dernier cri ?
Réagissant à un « exercice de pensée » publié sur le réseau social X (anciennement Twitter), qui parlait d’une « apocalypse des CPU », Carmack a exprimé son point de vue selon lequel le véritable problème n’est pas un manque de puissance des processeurs modernes, mais plutôt l'inefficacité des logiciels actuels. Si l’optimisation logicielle était traitée comme une priorité, il soutient que beaucoup plus de systèmes dans le monde pourraient fonctionner efficacement sur du matériel plus ancien, et ce, sans sacrifier la performance. En d’autres termes, les pressions du marché pousseraient les entreprises à améliorer drastiquement l'efficacité des logiciels si l'innovation matérielle s’arrêtait.
Il a répondu à un commentaire sur X qui disait :
Et si l'humanité oubliait comment fabriquer des processeurs ?
Imaginez le jour de l'arrêt total de la production (Zero Tape-out Day - Z-Day), le moment où plus aucune conception de silicium n'est fabriquée. Les conceptions de base avancées sont très mal loties.
Imaginez le jour de l'arrêt total de la production (Zero Tape-out Day - Z-Day), le moment où plus aucune conception de silicium n'est fabriquée. Les conceptions de base avancées sont très mal loties.

Dans un contexte où chaque nouvelle génération de processeurs et de cartes graphiques semble plus puissante que la précédente, Carmack défend l'idée que l’inefficacité des logiciels est le véritable frein à la performance. Plutôt que de dépendre de nouvelles puces chaque année, il imagine un monde où l'optimisation des logiciels permettrait de prolonger la vie des équipements existants, réduisant ainsi le besoin constant de mises à jour matérielles.
Aujourd’hui, les utilisateurs, qu’ils soient dans le domaine du jeu vidéo, du traitement de données ou même des applications professionnelles, sont constamment incités à mettre à jour leur matériel afin de tirer parti des dernières avancées en matière de performance. Cependant, pour Carmack, cette logique de renouvellement constant est alimentée par une négligence des bases mêmes du développement logiciel. Il critique notamment la manière dont les programmes modernes, y compris les jeux et les applications professionnelles, sont souvent conçus pour tirer parti de la puissance brute de nouveaux matériels sans chercher à optimiser l’utilisation des ressources existantes.
« Plus de parties du monde que beaucoup ne l'imaginent pourraient fonctionner sur du matériel obsolète si l'optimisation logicielle était vraiment une priorité », a déclaré Carmack. Cette réflexion soulève une question fondamentale : avons-nous vraiment besoin de processeurs toujours plus puissants, ou est-ce que nous pourrions exploiter mieux ce que nous avons déjà ?
Une solution radicale : revenir aux pratiques du passé
Pour Carmack, la solution pour surmonter cette dépendance au matériel est de revenir à des méthodes de développement plus efficaces, abandonnant les architectures modernes complexes au profit de techniques plus simples mais plus performantes. Sa proposition ? « Reconstruire tous les produits basés sur des microservices interprétés en bases de code natif monolithiques ! » Autrement dit, il préconise un retour aux bases du développement logiciel avec des codes optimisés et plus proches du matériel, une approche que l’on retrouvait dans les premières phases de l’informatique.
Ce retour aux anciennes méthodes de programmation soulève un défi majeur : la compatibilité et l’extensibilité des applications modernes. Les architectures actuelles reposent en grande partie sur des microservices, une méthode qui permet de développer des applications modulaires, évolutives et flexibles. Ces microservices, bien que puissants en termes de scalabilité et de gestion des ressources, ne sont pas aussi efficaces en termes de performance brute que les anciennes approches monolithiques, où tout le code était intégré dans une base de données unique, souvent optimisée pour un matériel spécifique.
Cependant, selon Carmack, cette approche plus traditionnelle offrirait une performance beaucoup plus élevée avec un matériel moins puissant. Il est convaincu que si le développement logiciel se concentrait sur l’optimisation du code, plutôt que de simplement se reposer sur la puissance des nouveaux processeurs, de nombreux systèmes obsolètes pourraient encore réaliser des tâches complexes.
Les compromis à accepter
Mais Carmack reconnaît que cette solution radicale ne viendrait pas sans coûts. D’un côté, la simplification du code et la recherche d’une optimisation maximale entraîneraient des gains de performance considérables, mais de l’autre, l'innovation pourrait en souffrir. En effet, le développement de nouveaux produits « innovants » serait beaucoup plus difficile sans l’accès à des infrastructures informatiques bon marché et évolutives.
Carmack note que les approches actuelles qui privilégient les microservices et le cloud computing permettent de créer des produits à grande échelle de manière rapide et flexible, mais cette évolution a un prix en termes d’efficacité. Par conséquent, il est à la fois passionné et prudent dans sa proposition de revenir à une architecture de code monolithique : bien qu’elle améliore les performances, elle pourrait rendre la création de nouveaux produits plus difficile, car les outils modernes de développement ne sont pas conçus pour cette approche.
[TWITTER]<blockquote class="twitter-tweet"><p lang="en" dir="ltr">I have also run this fun thought experiment! More of the world than many might imagine could run on outdated hardware if software optimization was truly a priority, and market price signals on scarce compute would make it happen. Rebuild all the interpreted microservice based… <a href="https://t.co/lmE9oF07YQ">https://t.co/lmE9oF07YQ</a></p>— John Carmack (@ID_AA_Carmack) <a href="https://twitter.com/ID_AA_Carmack/status/1922100771392520710?ref_src=twsrc%5Etfw">May 13, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> [/TWITTER]
L’impact d’un monde sans matériel dernier cri
Cette réflexion a des implications qui vont bien au-delà des simples considérations techniques. Si l’on adoptait cette philosophie d’optimisation des logiciels, nous pourrions potentiellement réduire considérablement l'impact environnemental de l'industrie technologique. En effet, un modèle qui favorise la réutilisation et l’optimisation des équipements existants pourrait réduire le volume de déchets électroniques et les besoins en matières premières pour fabriquer de nouveaux composants. Cela répondrait également à une partie de la pression exercée par les consommateurs, qui sont souvent poussés à remplacer leurs appareils avant même qu’ils n’atteignent la fin de leur cycle de vie utile.
En outre, si cette vision était adoptée, elle pourrait également contribuer à réduire les inégalités d’accès à la technologie. Dans de nombreux pays en développement, les consommateurs n’ont pas accès aux derniers modèles de matériel, mais pourraient potentiellement bénéficier d’une optimisation logicielle adaptée à leurs systèmes existants. Cela ouvrirait la voie à une plus grande démocratisation de la technologie, avec des logiciels plus efficaces et accessibles à un plus grand nombre de personnes.
Conclusion : vers un avenir sans innovation matérielle constante ?
John Carmack, avec sa vision radicale de l'optimisation logicielle, soulève une question qui mérite d’être débattue : à quel point avons-nous réellement besoin d'innovations matérielles constantes pour répondre aux besoins de la société ? Si l'on se concentre sur l'optimisation des logiciels, il est possible que nous puissions faire fonctionner des systèmes plus anciens de manière aussi efficace que les nouveaux, voire plus. Bien que cela comporte des compromis, notamment en matière d'innovation produit, cette réflexion pourrait bien ouvrir la voie à une manière plus durable et responsable de consommer et de développer la technologie.
Ainsi, dans un monde où la pression pour toujours acheter les derniers produits devient écrasante, la proposition de Carmack pourrait représenter un retour aux valeurs fondamentales de l'informatique : optimiser et maximiser les ressources disponibles, plutôt que de constamment chercher à en acquérir de nouvelles.
Source : John Carmack
Et vous ?




Vous avez lu gratuitement 46 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.