Un programmeur s'insurge contre le « Vibe Coding » et la tendance dangereuse qui consiste à accepter aveuglément le code généré par l'IA sans le comprendre. Découvrez pourquoi cette approche est en train de détruire le plaisir et l'art de la programmation.Pour votre information, le Vibe Coding consiste à utiliser des LLM et des chatbots IA pour réaliser votre projet et à vibrer avec le code que le LLM vous donne.
Introduction
Vous souvenez-vous de l'époque où programmer signifiait comprendre son code ? Quand le débogage ne consistait pas simplement à coller des erreurs dans une IA ? Lorsque vous pouviez expliquer comment votre application fonctionnait réellement ?
Cette époque est apparemment révolue, si l'on en croit le récent X Post (Tweet) d'Andrej Karpathy sur le « Vibe Coding ». Il s'agit d'une approche troublante où les programmeurs abandonnent leur métier à des outils d'IA en espérant que tout se passe bien. En tant que personne ayant passé des années à perfectionner ses compétences en programmation, je trouve cette tendance non seulement préoccupante, mais carrément dangereuse.
Karpathy a donc lâché cette perle absolue sur le « Vibe Coding » et j'ai failli recracher mon troisième café de la matinée sur mon clavier. Si je comprends bien, nous sommes maintenant FIER de ne pas comprendre notre propre code ? Cool cool cool. Une approche totalement durable de l'ingénierie logicielle.
Ecoutez, je diffuse des solutions de code sur StackOverFlow depuis de nombreuses années. Vous vous souvenez de cette période sombre ? Lorsque vous deviez LIRE LA DOCUMENTATION ? Et maintenant, nous avons Mr. « J'ai cofondé OpenAI » qui se vante en toute décontraction de vibrer avec son code comme s'il s'agissait d'une sorte de trip technologique sous acide.
Laissez-moi vous expliquer pourquoi « vibrer » avec votre code donné par l'IA au lieu de le comprendre est le chemin le plus rapide vers la catastrophe technique et pourquoi les vrais développeurs devraient s'opposer à cette tendance bizarre.
There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper…
— Andrej Karpathy (@karpathy) February 2, 2025
La montée du développeur qui "accepte tout"
Oh cool, cool. Alors on se contente d'appuyer sur le bouton « Accepter tout » comme s'il s'agissait d'un jeu de morpion ? Je peux déjà sentir les conflits de fusion qui se préparent comme une mauvaise tasse de café que quelqu'un a laissée dans la salle de repos pendant trois jours.
Je veux dire, bien sûr Andrej, c'est très bien quand vous construisez un joli petit projet de week-end dont personne ne dépend. Mais certains d'entre nous travaillent sur des systèmes où « Accepter tout » est l'équivalent numérique de jouer à la roulette russe avec cinq balles chargées.
Laissez-moi vous dépeindre mon mardi de la semaine dernière :
- Un développeur junior a « vibré » avec la base de code
- Personne n'a revu les changements parce que YOLO, n'est-ce pas ?
- Le serveur de production a pris feu à 2 heures du matin
- Devinez qui a été bipé ? Pas les vibrations, c'est sûr.
L'écart de compréhension
Ce n'est pas un badge d'honneur, mais un drapeau rouge de la taille du Texas. Lorsque vous ne comprenez pas votre propre base de code, vous n'êtes plus un développeur. Vous êtes juste une personne extrêmement inefficace qui n'a jamais appris à coder et qui se contente d'utiliser l'IA.
Les étapes suivantes sont prévisibles :
- Un code incompréhensible entraîne un comportement imprévisible.
- Un comportement imprévisible conduit à un code non structuré, à des bidouillages et à des solutions de contournement.
- Les bidouillages et les solutions de contournement conduisent à un code encore plus incompréhensible.
- Répétez l'opération jusqu'à ce que votre dépôt GitHub soit légalement considéré comme une scène de crime.
C'est comme si "je laissais mon enfant concevoir mon portefeuille financier en sélectionnant au hasard les actions en fonction des logos d'entreprises qui ont les plus jolies couleurs." Sauf que le bambin est une IA qui a été entraînée sur StackOverFlow, y compris toutes les réponses désapprouvées.
Ecoutez, je vais vous révéler un petit secret qui, apparemment, doit être dit en 2025 : LES BONS INGÉNIEURS COMPRENNENT LEUR CODE.
Cette connerie de « Vibe Coding » est l'équivalent en programmation de fermer les yeux en conduisant parce que votre Tesla est sur Autopilot. Ça marche très bien jusqu'à ce que vous vous retrouviez enroulé autour d'un arbre en vous demandant pourquoi l'IA ne l'a pas vu venir.
Ce n'est pas vraiment du codage
Écoutez les gars, je ne suis pas contre l'assistance de l'IA. J'utilise Copilot, ChatGPT, Claude depuis qu'ils ont été lancés, et ils sont vraiment utiles pour les modèles simples. Mais il y a une différence entre le « codage assisté par l'IA » et le spectacle d'horreur décrit par Andrej Karpathy.
Le vrai codage implique la compréhension. Le débogage. La résolution de problèmes. La satisfaction de comprendre enfin pourquoi cette fichue fonction ne cesse de retourner undefined et NaN à 2 heures du matin. L'effroi existentiel lorsque vous réalisez que c'est parce que vous avez mal orthographié quelque chose et que vous n'avez pas essayé de relire la fonction correctement. Ce sont ces expériences authentiques qui nous façonnent en tant que développeurs !
La philosophie du « contournement des bogues »
Cette programmation équivaut à donner un coup de pied à votre fichue télévision jusqu'à ce que l'image revienne. Très professionnel....
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.
