Vibe coding et appareils photo Kodak
Je suis sûr que beaucoup d’entre vous connaissent désormais le terme « vibe coding », un style de programmation euphorique qui consiste à inciter des modèles d'IA ou des IDE à écrire des logiciels. L'un des exemples les plus populaires ayant fait décoller cette pratique est celui du hacker indépendant Levelsio, qui a créé un simulateur de vol entièrement en JavaScript et vendu des espaces publicitaires dans le jeu. D'autres ont suivi le mouvement et ont même créé des entreprises en les créant grâce au vibe coding.
Il est indéniable que l'IA a profondément transformé l'écosystème logiciel, et chaque évolution technologique majeure suscite de nombreuses opinions. J'ai bien sûr la mienne, mais j'ai pensé qu'il serait plus productif d'observer comment l'histoire se répète.
Évolution de la photographie
La plupart des gens l'ignorent, mais une controverse majeure a sévi dans le monde de la photographie en 1900. Auparavant, la photographie était un art protégé par ses maîtres, qui y consacraient argent, temps et pratique. Seuls ceux qui avaient acquis une certaine expérience et maîtrisaient cet art pouvaient prendre une photo. Tout a changé en février 1900, lorsque Kodak a lancé l'appareil photo Brownie. Ce n'était pas grand-chose à voir, une petite boîte en carton capable de prendre une photo de 5,7 cm maximum avec une pellicule 117 mm. Sa particularité résidait dans le service client. Le Brownie ne coûtait qu'un dollar (soit 38 dollars en dollars d’aujourd’hui), et le développement de la pellicule était inclus. Il suffisait de prendre une photo, de l'envoyer à Kodak, et ils la renvoyaient. «Vous appuyez sur le bouton, on s'occupe du reste.»
Soudain, tout le monde pouvait prendre des photos : parents, grands-parents, enfants, tout le monde. Le tirage s'est vendu comme des petits pains, ce qui a bouleversé la vieille guilde des photographes. On craignait une prolifération de photos « bâclées » et la disparition de l'art photographique. Personne ne pouvait devenir artiste en prenant des photos de cette manière… n'est-ce pas ? Ces artistes étaient aussi soucieux de leur profession. Si tout le monde avait un appareil photo, pourquoi les familles paieraient-elles une séance photo ?
Avec l'avènement du numérique, des téléphones portables et de la photographie, l'inconnu s'est à nouveau accéléré. Désormais, plus besoin d'appareil photo. Presque tout le monde possède un téléphone portable, et il y a fort à parier que ce téléphone en soit équipé. Grâce à cette évolution, une photo pouvait être prise à tout moment, et non plus seulement lorsqu'on pensait à emporter un appareil photo. À la même époque, le stockage est devenu extrêmement bon marché, et il n'y a désormais plus de limite au nombre de photos que l'on peut prendre. Les artistes et les professionnels ont une fois de plus exprimé leur inquiétude quant à la disparition de cette forme d'art dans le dédale du latte art et des photos de chiens.
Évolution de la programmation et des ordinateurs
La programmation et l'informatique semblent suivre une histoire similaire : plus la technologie progresse, plus sa base d'utilisateurs s'élargit. Côté matériel, c'est l'ordinateur personnel qui a permis à chacun d'y accéder. À ses débuts, le World Wide Web n'était accessible qu'aux universités et aux bibliothèques, mais il est rapidement devenu accessible à tous. Créer du contenu sur le web se résumait autrefois à écrire du HTML et à gérer un serveur, mais grâce à l'essor des réseaux sociaux, des API et des applications web hébergées, chacun a pu écrire et s'exprimer librement. Une explosion de pensées, d'idées et de mèmes a rempli des milliers de serveurs, à une vitesse incroyable.
En s'orientant vers les langages de programmation, ces derniers ont eux aussi connu de nombreuses avancées technologiques. Au début, il s'agissait d'alimenter une machine de la taille d'une grande pièce avec du papier, puis d'évoluer progressivement vers des langages pouvant être saisis directement sur ordinateur. De la communication bas niveau via l'assembleur aux piles modernes comme le C, jusqu'à devenir de plus en plus abstraits par rapport au matériel informatique avec lequel nous communiquions auparavant. Aujourd'hui, nous utilisons des langages comme JavaScript et des systèmes de gestion de paquets qui permettent de tout installer, et beaucoup d'entre nous grincent des dents à l'idée de les utiliser dans les backends. Enfin, nous avons désormais le vibe coding, qui, selon beaucoup, signifie que nous n'avons plus besoin d'apprendre à coder. Nous entrons plutôt dans l'ère tant attendue de la programmation utilisateur.
Comme pour toute avancée technologique, je crois que la technologie elle-même est neutre, mais entre les mains des gens, nous voyons le bon, le mauvais et le laid.
Le bon
L'évolution de la technologie photographique a permis la création de nombreuses photos et de photographes de mauvaise qualité, mais elle a aussi donné naissance à une toute nouvelle génération d'artistes, dont nous n'aurions pas eu l'occasion autrement. L'un de mes exemples préférés est celui de Vivian Maier. Si vous ne la connaissez pas, Vivian Maier était une nounou inconnue dans les années 1940 et 1950. Ce n'est qu'après sa mort que l'œuvre de sa vie de photographe a été découverte par un homme qui l'a rachetée aux enchères. À sa grande surprise, il s'agissait d'une collection époustouflante, composée de centaines de milliers d'images, toutes prises par une nounou inconnue. Passionnée de photographie, elle portait un regard unique sur le monde de l'époque.
Elles sont rendues possibles grâce au successeur bien plus récent de l'appareil photo de type Brownie, qu'elle pouvait emporter partout et photographier pellicule après pellicule. Si la photographie était encore prisonnière de l'âge d'or du transport d'équipements encombrants et réservés à certains, nous n'aurions pas l'œuvre époustouflante de Vivian Maier.
Un autre photographe méconnu est l'un de mes préférés : Joe Greer. Greer a débuté sa carrière sur une application : Instagram. Il n'a pas pris de cours de photographie et n'avait pas d'appareil photo performant, juste son téléphone. Plus il prenait de photos avec son téléphone et les publiait sur Instagram, plus les gens les appréciaient et plus le site prenait de l'ampleur. Il a fini par passer aux appareils photo professionnels et a poursuivi son art, mais l'essentiel était d'accéder à une forme d'art qui, autrement, n'aurait pas été accessible sans les appareils photo des téléphones portables.
Dans le domaine de la programmation, et même dans l'évolution des langages, on observe une tendance similaire : la médiocrité augmente, mais le nombre de nouveaux programmeurs augmente également. Certes, il existe beaucoup de Javascript de mauvaise qualité, mais grâce à lui, de plus en plus de personnes découvrent la programmation et se lancent dans une aventure passionnante. Il n'est pas nécessaire de commencer avec un langage plus basique pour découvrir le plaisir de la programmation, et la plupart de ceux qui y parviennent expérimentent de nombreux langages différents.
Même dans le domaine du vibe coding, je pense que nous verrons des personnes qui n'étaient pas programmeurs auparavant, mais qui découvriront la beauté de voir leur code atteindre un objectif qu'ils avaient en tête. Si la programmation utilisateur final a ses inconvénients, son avantage réside dans le fait que les gens résolvent eux-mêmes leurs problèmes quotidiens. Ceux qui vont au-delà de la résolution d'un problème pourraient se découvrir une nouvelle passion à laquelle ils pourront consacrer des heures d'apprentissage.
Le mauvais et peut-être le truand
Bien sûr, tout n'est pas rose, et je suis convaincu que nous allons devoir relever des défis face aux conséquences du vibe coding. Comme pour toute avancée technologique, les choses deviennent plus faciles, et lorsqu'un défi disparaît, il y a moins à apprendre. L'ancienne méthode de programmation, qui consistait à se bloquer pendant des heures, à lire la documentation, à chercher des réponses, à interroger des personnes plus avisées, s'efface peu à peu au profit de la facilité. Certes, vous avez résolu votre problème, mais qu'avez-vous appris ? L'importance de cette question dépend de qui vous êtes : un ingénieur logiciel qui a besoin de perfectionner son art, ou simplement un simple citoyen à la recherche d'une application amusante.
Même l'homme ordinaire qui utilise l'IA pour développer des logiciels peut passer à côté des effets secondaires de la programmation, notamment le développement des compétences en résolution de problèmes, la pensée critique et la capacité à sortir des sentiers battus. D'une certaine manière, je pense que c'est là que le vibe coding n'atteint pas nécessairement la programmation, car avec la véritable programmation, les gens apprennent à coder de la même manière qu'ils apprennent à lire et à écrire. Il serait bien plus bénéfique pour la société que chacun possède ces compétences de base, mais je ne suis pas sûr que nous y parviendrons avec l'IA et le vibe coding.
Se pose également la question des données sensibles et de la part du code qui contrôle notre société moderne. Dans notre exemple photographique, l'impact s'est principalement limité à l'industrie photographique et à l'expression artistique. C'est une autre histoire avec la programmation, car nous dépendons du code pour gérer nos opérations bancaires, nos dossiers médicaux, nos informations et notre vie privée ; tout ce que nous faisons dépend fortement de la sécurité de notre code. Donner à quelqu'un un éditeur de code basé sur l'IA, c'est comme donner à Peter Parker des pouvoirs d'araignée surnaturels. Trop de pouvoir et un manque de responsabilité peuvent entraîner des conséquences potentiellement désastreuses. Nous l'avons déjà constaté dans certains cas où un codeur novice n'a pas appliqué les principes de base de protection et de sécurité des clés API, et a vu sa plateforme détruite par Internet. Sans formation adéquate et sans connaissance du « comment » derrière le code exécuté, nous nous trouvons face à un nouveau monde logiciel potentiellement vulnérable.
Enfin, il y a la lente dégradation de l'information. Nous savons tous que du code open source public est intégré à l'entraînement des modèles d'IA, et nous ne pouvons qu'espérer qu'il soit de qualité. À mesure que de plus en plus de code généré par l'IA est mis en ligne, de plus en plus de modèles d'IA s'en nourrissent, et nous sommes confrontés à la réalité de l'« Ouroboros », un serpent qui se mord la queue. Soudain, nos tout-puissants assistants de codage IA ne peuvent plus résoudre les problèmes qu'ils avaient auparavant et commencent à peiner avec les bases. En tant que développeur professionnel, vous saviez peut-être comment résoudre ces problèmes auparavant, mais votre dépendance à l'IA a affaibli votre esprit et vous êtes maintenant bloqué. C'est ce qui me fait le plus peur et ce que j'essaie de garder à l'esprit lorsque j'utilise l'IA.
Que faisons-nous?
Comme nous l'avons constaté avec toute autre avancée technologique, nous ne pouvons pas l'arrêter. Le vibe coding est là et il ne disparaîtra probablement pas de sitôt. Si nous ne pouvons pas freiner le progrès, nous pouvons changer notre façon d'y réagir. Être snob ne facilitera pas le parcours de quelqu'un qui découvre la programmation grâce au vibe coding. Nul besoin d'aimer l'IA ou le vibe coding, et vous pouvez toujours faire preuve de bienveillance envers une nouvelle génération de programmeurs. Au lieu de les décourager, pourquoi ne pas s'intéresser à ce qu'ils créent et leur proposer notre aide ? S'ils se passionnent vraiment pour la programmation, nous avons l'opportunité de les encourager à acquérir des compétences. Au lieu de nous contenter d'atteindre leurs objectifs, nous pouvons leur montrer la beauté de savoir comment ils ont fait, sans se contenter de dire « l'IA a fait fonctionner ça ».
C'est pour cette raison que je ne suis pas d'accord avec Amjad ; je pense qu'il faut quand même apprendre à coder. Il serait peut-être utile de préciser « qui » devrait encore apprendre à coder. J'aimerais que tout le monde apprenne, mais plus concrètement, je pense que ceux qui trouvent du plaisir dans la programmation devraient apprendre à coder, surtout si leur carrière en dépend. Si jamais nous sommes confrontés à l'Ouroboros, nous aurons besoin de défenseurs de l'ancienne méthode pour écrire du code qui résiste à l'épreuve du temps. Nous avons besoin de plus de gens comme Alejandro, qui a écrit son propre programme pour gérer son chéquier dans les années 90 et l'utilise encore aujourd'hui . Nous coderons encore dans cinq ans pour les mêmes raisons qui poussent les gens à prendre des photos : nous aimons le faire.
Merci de m’avoir lu!