00:00:00Aujourd'hui, je me suis réveillé en découvrant un post intéressant de Guillermo Rauch, le PDG de Vercel, au sujet
00:00:06duquel je veux discuter, tout en partageant mes réflexions sur les implications et le rôle du code, et sur
00:00:11l'importance réelle du code aujourd'hui et dans le futur.
00:00:16Dans ce post, Guillermo affirme : « Le code est un résultat, la nature reprend ses droits.
00:00:21Pendant trop longtemps, nous avons traité le code comme une donnée d'entrée.
00:00:23Nous l'avons glorifié, formaté à la main, embelli, et en avons fait une obsession.
00:00:28Nous avons conçu des interfaces sophistiquées pour l'écrire, des IDE.
00:00:31Nous avons utilisé la coloration syntaxique, le Tree-sitter, les mini-cartes, les raccourcis clavier, l'autocomplétion en ligne,
00:00:37le texte fantôme.
00:00:38Quel est ce thème de couleurs ?
00:00:40Nous avons passé des nuits à débattre de la longueur idéale des API et des corps de fonctions.
00:00:44Est-ce que cette API sera assez élégante pour être lue par un autre humain ?
00:00:48Nous portons désormais notre attention sur les véritables entrées : besoins, spécifications, retours, inspiration de design,
00:00:54et surtout les données de production.
00:00:58Nos agents de codage doivent comprendre comment vos utilisateurs vivent votre application, quels
00:01:04erreurs vous rencontrez, et transformer cela en code.
00:01:07Inévitablement, nous glorifierons moins le code, ainsi que les codeurs.
00:01:12Les meilleurs ingénieurs avec qui j'ai travaillé ont toujours vu le code comme un moyen de parvenir à une fin, un résultat
00:01:17qui est voué à être bientôt transformé de nouveau. »
00:01:20Waouh, il y a énormément de choses dans ce post !
00:01:23Et cela m'inspire beaucoup de réflexions.
00:01:27Évidemment, et je pense que nous le voyons tous, le rôle même ou le monde entier de
00:01:35la programmation évolue à toute vitesse.
00:01:38Il se passe énormément de choses, et je suppose que beaucoup de gens dans le milieu ressentent
00:01:46que depuis décembre, tout s'est encore accéléré avec Opus 4.5, Cloud Code et maintenant
00:01:53Codex ; nous avons de nouveaux modèles et outils presque chaque semaine.
00:01:58Les choses changent vite.
00:02:01Sur une note personnelle, j'essaie bien sûr de suivre le rythme pour le contenu
00:02:06que je crée, mes formations et ma façon de travailler, qui est le socle
00:02:10de tout cela. C'est pourquoi j'ai sorti des cours sur Cloud Code et Codex, et je propose
00:02:16actuellement une grosse promotion sur mon abonnement annuel, qui donne
00:02:21accès à tous les cours pour un prix dérisoire.
00:02:24Mais cela a un impact sur nous tous. C'est là mon point.
00:02:27C'est en train de changer ce que nous faisons.
00:02:28Cela change mon contenu et, bien sûr, notre façon de concevoir des logiciels.
00:02:35Cependant, je ne suis pas certain que nous nous éloignions vraiment du code, et pour moi,
00:02:42ce post laisse entendre que le code n'a plus d'importance, ce avec quoi je suis assez en désaccord.
00:02:50Alors, j'admets, et c'est une évidence, que par le passé, nous étions obsédés par
00:02:58le design des API, le nommage des variables et des fonctions, et l'esthétique du code.
00:03:07Mais je soutiens qu'une partie de cela reste cruciale aujourd'hui et le sera probablement
00:03:15encore à l'avenir.
00:03:17Car même si le rôle des humains passe de l'écriture du code à sa révision,
00:03:24qu'est-ce qui est le plus facile à relire : une base de code brouillonne de 10 000 lignes
00:03:33partiellement redondantes ou inutilement complexes, avec des fonctions mal nommées, ou une base de code propre ?
00:03:41Lequel sera le plus simple à réviser ?
00:03:44Même si une grande partie de ce processus de révision est confiée aux machines et à l'IA
00:03:50dans le futur, ce qui est possible, je ne suis pas convaincu que la qualité
00:03:59du code n'aura plus aucune importance dans ce monde-là.
00:04:02Ne serait-ce que parce que vous payez pour tous ces tokens générés et révisés ;
00:04:09si quelque chose est mieux conçu, cela consommera probablement moins de tokens, tant pour la génération
00:04:17que pour la révision de ce code.
00:04:19Le coût des tokens semble devenir un enjeu majeur car, pour l'instant,
00:04:25nous bénéficions tous de tarifs subventionnés par Anthropic ou OpenAI.
00:04:30Nous ne payons pas le coût réel du token avec nos abonnements à 20 ou 200 dollars.
00:04:37Ces abonnements ne sont pas
00:04:39forcément rentables pour ces fournisseurs.
00:04:44Le véritable coût du token est bien plus élevé.
00:04:47Et il est fort probable que les prix augmentent à l'avenir lorsque
00:04:54ces entreprises devront enfin gagner de l'argent.
00:04:57Certes, le progrès technique pourrait faire baisser le coût global du token,
00:05:02mais nous n'en avons pas encore la certitude.
00:05:07Nous ignorons comment ce marché évoluera.
00:05:10Et même si les coûts baissaient, si les entreprises peuvent vous facturer un certain
00:05:16prix bien au-dessus du coût réel, elles ne se priveront pas
00:05:22de prendre cette marge.
00:05:23Mais bon, c'est un tout autre sujet.
00:05:25L'efficacité des tokens compte aujourd'hui et comptera très probablement demain.
00:05:31Et cela est directement lié à la qualité du code car, en général, un code propre
00:05:39est un code qu'on ne laisse pas grossir indéfiniment ni devenir inutilement complexe.
00:05:47On peut certes rétorquer que les programmeurs ont eu, par le passé,
00:05:55tendance à écrire trop de code par moments, pour obtenir
00:06:02une API élégante ou des abstractions superflues dont ils n'avaient pas besoin
00:06:08au moment de l'implémentation.
00:06:09Nous avons tous connu cela : travailler sur un projet personnel sans aucun utilisateur,
00:06:15et décider de structurer l'accès à la base de données pour pouvoir en changer facilement,
00:06:22même si nous n'avions aucune intention de le faire.
00:06:24On a donc écrit un adaptateur bien plus complexe que
00:06:29nécessaire.
00:06:30On est tous passés par là.
00:06:31Était-ce une bonne idée ?
00:06:32Non, et ça ne le sera pas plus aujourd'hui ou demain, que le code soit écrit
00:06:37par vous ou par une IA.
00:06:39Actuellement, et cela peut changer, d'après mon expérience, ces modèles d'IA
00:06:45et ces outils comme Codex ou Cloud Code ont tendance à tout compliquer, à introduire
00:06:54une complexité inutile et à suggérer des changements qui n'ont
00:07:02pas beaucoup de sens. Codex, en particulier, a tendance à ne jamais supprimer de
00:07:10code, il ne fait qu'en ajouter, avec des solutions de secours et de la gestion d'héritage.
00:07:15Il faut presque le forcer explicitement à supprimer du code et à abandonner les vieilles API.
00:07:22Tout cela peut évoluer, mais ce sont des combats qu'il faut mener aujourd'hui.
00:07:30Et c'est précisément ce que ce post prétend être sans importance.
00:07:35Mais je dis : si, c'est important.
00:07:37En tant que développeur, vous devez mener ces batailles et vous soucier du code
00:07:43réel et de sa qualité aujourd'hui, et sans doute aussi demain.
00:07:49Personne ne sait ce que l'avenir nous réserve, mais il sera toujours primordial d'avoir
00:07:56une base de code qui ne devient pas inutilement complexe, pour plusieurs raisons, dont l'efficacité des tokens.
00:08:01C'est l'une d'entre elles.
00:08:02Une autre raison, en plus de la partie révision,
00:08:08est que le code a un impact direct sur les performances d'une application.
00:08:18Je ne révèle aucune vérité révolutionnaire ici,
00:08:26mais c'est quelque chose qu'on oublie facilement.
00:08:28On pourrait dire qu'avec l'IA qui génère le code, le code lui-même importe peu
00:08:34car il est facile à refactoriser, régénérer ou remplacer.
00:08:38C'est vrai, si l'on ignore encore une fois le coût des tokens.
00:08:43Mais le code généré a, ou pourrait avoir, un impact
00:08:51sur les performances de votre application.
00:08:53Il existe mille façons d'interroger une base de données.
00:08:56On peut lancer des requêtes imbriquées ou trop nombreuses car, après tout, le résultat est
00:09:03le même.
00:09:04On a les données voulues.
00:09:05Oui, mais une requête mal optimisée montre son coût réel dès
00:09:12que vous avez un nombre important d'utilisateurs.
00:09:15C'est la même chose pour les boucles imbriquées ou tout ce qui peut s'insérer dans
00:09:20votre code et dégrader les performances.
00:09:23C'est pourquoi la qualité et l'optimisation du code restent essentielles.
00:09:30On peut certes dire que les futurs modèles d'IA seront excellents pour cela et
00:09:37qu'ils pourront produire un meilleur code dès le départ,
00:09:43puis l'évaluer et l'améliorer.
00:09:47C'est tout à fait possible.
00:09:50Mais cela n'infirme pas mon idée que la qualité du code compte, peu importe si c'est
00:09:55un futur modèle qui le génère ou vous, en tant que développeur.
00:09:58La grande différence, c'est que dans un monde où l'IA peut
00:10:04tout faire, l'humain est écarté du processus.
00:10:08Et je suppose que c'est là le point de vue de Guillermo.
00:10:13Mais nous ignorons à quoi ressemblera exactement cet avenir.
00:10:16Ce que je dirais sur ce post, c'est que — je comprends — c'est ainsi que fonctionne internet
00:10:23de nos jours.
00:10:24Il faut être provocateur.
00:10:25Il faut être un peu piquant pour que des gens comme moi fassent une vidéo dessus.
00:10:30Je le conçois parfaitement.
00:10:31Mais dans ce post, on a l'impression que tout ce que nous faisions avant était
00:10:37plutôt stupide, n'est-ce pas ?
00:10:38Vraiment ?
00:10:39Créer des outils dédiés, des interfaces facilitant l'écriture du code, débattre du design des API...
00:10:45C'est stupide ?
00:10:46Eh bien non, cela montre que vous y accordez de l'importance.
00:10:51En tant qu'humain, on veut soigner son art, son travail.
00:10:56C'est comme dire : « C'est idiot que les designers aient d'abord dessiné sur
00:11:02papier avant d'utiliser des logiciels comme Photoshop pour créer de l'art
00:11:07numérique. »
00:11:08Non, ce n'est pas stupide.
00:11:10C'est précisément ce qui distingue un humain passionné par son métier
00:11:17de quelqu'un qui ne l'est pas.
00:11:19Et présenter cela comme quelque chose de stupide ou de bizarre, ou comme une époque
00:11:29révolue, est une erreur de jugement.
00:11:30Ce n'est pas une approche très constructive.
00:11:32Et bien sûr, nous créons de nouveaux logiciels en ce moment même.
00:11:36Nous développons des outils pour ce monde de l'ingénierie par agents, comme
00:11:43l'application Codex et tous ces agents et interfaces IA actuels.
00:11:49C'est le nouveau genre de logiciels que nous bâtissons et nous continuerons ainsi.
00:11:54Nous inventerons de nouvelles façons de débattre, par exemple, de la structure idéale d'une
00:12:01compétence d'agent ou de la configuration d'un bon fichier agents.md.
00:12:07Nous continuerons à en discuter jusqu'à ce que nous soyons totalement hors du coup et que
00:12:14nous n'ayons plus rien à faire.
00:12:16Ce qui est un stade qui, je pense, n'arrivera pas, et je ne l'espère certainement pas.
00:12:22Mais d'ici là, c'est une bonne chose d'avoir des opinions et de se soucier
00:12:29de ce sur quoi on travaille.
00:12:31C'est primordial selon moi.
00:12:33Donc oui, je pense que le code et sa structure resteront importants.
00:12:41La seule question est de savoir si l'IA pourra tout faire seule et produire un code parfait.
00:12:47Je n'en sais rien, et personne ne peut le savoir pour l'instant.
00:12:50On ne peut pas lire l'avenir.
00:12:53Mais globalement, en tant qu'humain, on doit s'intéresser à ce que l'on fait.
00:12:57C'est ce qui différencie ceux qui réussissent et s'épanouissent dans leur travail
00:13:03des autres, je crois.