26 points par gogokow27 2026-02-07 | Aucun commentaire pour le moment. | Partager sur WhatsApp

The third golden age of software engineering – thanks to AI, with Grady Booch

Cette vidéo, sous la forme d’un entretien avec le pionnier du génie logiciel Grady Booch, réfute l’idée selon laquelle l’essor de l’intelligence artificielle (IA) marquerait la fin du génie logiciel et soutient au contraire que nous sommes en train d’entrer dans un « troisième âge d’or ». Elle relit l’histoire du logiciel comme une progression du niveau d’abstraction et compare les grands tournants techniques du passé à la révolution actuelle de l’IA. Elle suggère ainsi que l’IA, au-delà de l’automatisation du code, accélère un recentrage sur l’essence même de l’ingénierie : la pensée systémique et la gestion de la complexité.


1. Introduction

Contrairement aux inquiétudes récurrentes sur une « fin du génie logiciel », Grady Booch soutient que les transformations actuelles relèvent non pas d’une disparition du secteur, mais d’une évolution. Le génie logiciel n’est pas simplement l’écriture de code : c’est l’art de construire la meilleure solution possible en équilibrant des forces statiques et dynamiques telles que les lois physiques, les contraintes économiques ou encore les considérations éthiques. Ce texte analyse l’histoire du logiciel, des années 1940 à aujourd’hui, en trois « âges d’or » et cherche à identifier la nature profonde des changements induits par l’IA.

2. L’évolution du génie logiciel

2.1 Le premier âge d’or : l’abstraction algorithmique
  • Période : fin des années 1940 ~ fin des années 1970
  • Caractéristiques : c’est la période où la séparation entre matériel et logiciel a commencé. Au départ, le langage machine et le hardware étaient intimement liés, puis le logiciel a progressivement été reconnu comme un domaine possédant une valeur industrielle autonome.
  • Défis principaux : l’objectif majeur était le calcul mathématique et l’automatisation des processus métier. La complexité de l’époque restait modeste par rapport à celle d’aujourd’hui, mais l’optimisation de ressources matérielles limitées constituait l’enjeu central.
  • Abstraction : l’« abstraction algorithmique (Algorithmic Abstraction) » dominait. Le monde était principalement envisagé comme une combinaison de données et de processus (procédures) chargés de les traiter.
2.2 Le deuxième âge d’or : l’orienté objet et les plateformes
  • Période : fin des années 1970 ~ début des années 2000
  • Contexte : avec l’explosion de la demande logicielle, la qualité et la productivité n’ont plus suivi, donnant naissance à la « crise du logiciel (Software Crisis) ».
  • Transition technique : pour gérer la complexité, le paradigme « orienté objet (Object-Oriented) », qui regroupe données et processus dans une même unité, a émergé. Il a permis un niveau d’abstraction plus élevé et posé les bases de la construction de systèmes de grande ampleur.
  • Extension : la généralisation du PC et l’arrivée d’Internet ont fait passer le logiciel d’un simple outil pour les entreprises à une infrastructure de civilisation (interstitial spaces of civilization). C’est aussi à cette époque que les concepts d’open source et de business de plateforme (SaaS, etc.) ont commencé à se structurer.
2.3 Le troisième âge d’or : les systèmes et l’IA
  • Période : années 2000 ~ aujourd’hui
  • Situation actuelle : nous vivons déjà dans ce troisième âge d’or. Il se caractérise par le fait que les tâches d’ingénierie majeures dépassent désormais l’unité du programme individuel pour porter sur de très grands systèmes, la sécurité, la sûreté et les enjeux éthiques.
  • Rôle de l’IA : les outils d’IA (LLM, agents de code, etc.) ne remplacent pas l’ingénierie ; ils servent d’outils qui élèvent encore d’un cran le niveau d’abstraction, en permettant d’utiliser le langage naturel presque comme un langage de programmation.

3. L’impact de l’IA sur le génie logiciel

3.1 Automatisation et accélération de l’abstraction

L’IA automatise la génération de code répétitif et standardisé. Comme lorsque l’assembleur a été remplacé par des langages de plus haut niveau, cela permet aux ingénieurs de s’éloigner des détails d’implémentation de bas niveau pour se concentrer sur des problèmes de niveau supérieur.

3.2 Réfutation de la prévision de Dario Amodei

En réponse à la prédiction de Dario Amodei, CEO d’Anthropic, selon laquelle « le génie logiciel sera automatisé dans les 12 prochains mois », Booch la rejette avec force.

  • Raison 1 : l’IA est efficace pour reproduire des motifs déjà appris, mais elle ne résout pas ce qui constitue l’essence de l’ingénierie : la « prise de décision de conception » et l’« arbitrage entre des contraintes diverses (coût, lois physiques, éthique, etc.) ».
  • Raison 2 : l’IA actuelle reste biaisée vers des patterns centrés sur le web et manque de capacités pour concevoir dans son ensemble des systèmes embarqués interagissant avec le monde physique, ou des systèmes mission-critical complexes.

4. Les compétences clés des ingénieurs de demain

À mesure que la barrière d’entrée du codage diminue, la compétence essentielle attendue des ingénieurs se déplacera de l’« écriture de code » vers la « pensée systémique (Systems Thinking) ».

  • Théorie des systèmes (Systems Theory) : pour comprendre et concevoir des systèmes complexes, il devient indispensable de maîtriser des bases théoriques telles que les travaux d’Herbert Simon, la théorie des systèmes complexes du Santa Fe Institute ou encore la « Society of Mind » de Marvin Minsky.
  • Responsabilité et jugement : la capacité humaine à vérifier les résultats générés par l’IA et à garder le contrôle des systèmes sous l’angle de la sécurité et de l’éthique devient encore plus importante.

5. Conclusion

Le génie logiciel n’est pas mort ; il entre au contraire dans une nouvelle phase d’expansion où l’imagination devient presque la seule véritable contrainte. L’IA permet à des non-spécialistes de créer des logiciels, favorisant ainsi une démocratisation de la création, tout en donnant aux ingénieurs professionnels des outils puissants pour résoudre des problèmes plus vastes et plus complexes. Historiquement, à chaque montée en abstraction technologique, ceux qui ont adopté les nouvelles techniques n’ont pas disparu : ils ont pris de la hauteur. Il faut donc voir les changements actuels non comme une crise, mais comme une occasion d’élargir les frontières de l’ingénierie.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.