L'art de la programmation en déclin, par Nolan LawsonLa programmation est un art. Elle s'apparente moins aux beaux-arts ou à la musique qu'à l'architecture ou à la menuiserie – alliant forme et fonctionnalité –, mais c'est bel et bien un art.
Si vous ne me croyez pas, pensez aux revues de code. J’ai sans aucun doute participé à des revues de code où j’ai admiré la maîtrise dont faisaient preuve les codeurs, où l’élégance de la solution brillait comme un joyau, où je me sentais comme Salieri submergé par la symphonie qui résonnait dans sa tête en lisant Mozart. À l’inverse, j’ai encadré des juniors dont j’ai lu le code et où j’ai immédiatement vu des possibilités de les aider à mûrir : ce passage est répétitif, celui-ci pourrait être exprimé plus succinctement, celui-là entraîne une perte de performance, etc.
Lorsque je révise des PR de code rédigé par l’IA, je ne ressens rien de tout cela. Je peux parfois dire s’il a été écrit par Claude ou Codex (Claude aime les commentaires à ton officiel, Codex est plus direct), mais mon esprit a tendance à vagabonder vers l’intention derrière la PR, vers l'instruction générative ou le plan. Chipoter sur les détails du code, comme le type de boucle for ou les noms des fonctions, me semble tout à fait superflu. Parfois, le meilleur conseil est simplement de choisir un nouveau plan et de reformuler la consigne.
Pendant la majeure partie de ma carrière, j’ai cohabité avec deux visions contradictoires du codage :
- Le codage est une forme d’art, mais il ne faut pas s’attacher trop sentimentalement à son code – la plupart des codes finissent par devenir une dette technique qu’il faut éliminer
- Le code peut exprimer la créativité de son auteur, mais le meilleur code est idiomatique, réduisant le nombre de « WTF » par minute
- En bref : le code est un art, mais c’est aussi un moyen d’atteindre une fin
Avec l’avènement des agents de codage LLM, je pense que cette contradiction a été résolue de manière définitive en faveur de la fonction plutôt que de la forme. Ou, comme dirait Les Orchard, les « gens qui font fonctionner les choses » ont triomphé des « amateurs d’artisanat ».
L’artisanat est toujours là, bien sûr, mais il est différent. Quand je code avec des agents, je pense à un niveau d’abstraction bien plus élevé : architecture, résilience, systèmes, surveillance, tests. Avant, je m’attardais sur les petits détails – Claude commence ses commentaires par une majuscule, ce que je fais rarement ; Claude nomme les variables d’une certaine manière, je préfère une autre – mais j’ai vite appris à ne plus m’en soucier. C’est tout simplement une perte de temps de chipoter, d’autant plus que l’agent annulera probablement vos corrections lors de la prochaine refactorisation.
D’une certaine manière, j’ai l’impression d’être un menuisier dont le travail consiste désormais à rédiger les plans pour l’usine IKEA. Bien sûr, il y a toujours une part d’art dans la conception des plans, mais on se fiche que l’usine produise une ou deux tables avec des échardes dans les pieds. L’important est de produire suffisamment de meubles assez rapidement pour que ces petites imperfections n’aient pas d’importance. Le goût et le jugement comptent toujours, mais ils se situent au niveau du contremaître sur la chaîne de montage, pas du maître menuisier maniant le ciseau.
Trouver l’art ailleurs
Pour moi, le codage a toujours occupé une place particulière dans le spectre artistique. Certains codes relèvent clairement de l’art – Jenn Schiffer, par exemple, a été artiste en résidence et a mené de nombreux projets consacrés à l’intersection entre l’art et la programmation. D'autres codes, en revanche, sont purement fonctionnels : je suis sûr que de nombreux programmeurs ont passé toute leur carrière à produire du code de liaison pour des CRM d'entreprise sans jamais se demander si ce qu'ils faisaient était de l'« art ».
Une de mes inquiétudes pour toute ma génération de programmeurs est que beaucoup d'entre nous ont puisé leur « dose » d'art dans le codage : prendre le savoir-faire au sérieux, examiner le code des autres avec l'œil d'un critique littéraire, essayer d'élever la profession. Aujourd’hui, la profession s’est transformée en chaîne de montage, et nous sommes nombreux à nous précipiter avec enthousiasme vers nos nouveaux emplois de concepteurs de plans sans nous interroger sur ce que cela fera à nos âmes. Je crois que l’art est nécessaire à une vie humaine riche et épanouie, ce n’est donc pas une préoccupation futile.
Mon conseil aux autres codeurs, ou du moins le conseil que je me donne à moi-même, est le suivant : si vous cherchez de l’art dans le codage, arrêtez de chercher. Si vous ne vous êtes jamais intéressé à la poésie, à la peinture, à la danse ou à quoi que ce soit d’autre, c’est le moment idéal pour commencer. À une époque où Internet regorge de plus en plus de bots qui injectent leurs idées insipides dans le cerveau de tout le monde, il est devenu vital de rechercher des formes d’expression typiquement humaines.
Cela peut paraître ringard (ou donner l’impression que je traverse une crise de la quarantaine), mais voici ce que j’ai fait récemment :
- je me suis mis à la peinture (Bob Ross est bien sûr un tremplin facile)
- je suis allé voir plusieurs ballets / spectacles de danse contemporaine
- j’ai commencé à lire davantage de fiction (The Sun Magazine est l’un de mes favoris de longue date, mais je lis même la poésie maintenant)
- j’ai repris ma guitare
Vous avez peut-être aussi remarqué que ce blog est devenu beaucoup plus sentimental et expérimental ces derniers temps. Je n’ai jamais utilisé de modèles de langage (LLM) pour m’aider à écrire (pas même pour vérifier l’orthographe !), mais ces derniers temps, j’ai essayé de lutter contre ma propre tendance à écrire une prose fade et prévisible. Dans un monde de machines qui « prédisent le prochain jeton », quelle est la meilleure réaction ? Être moins prévisible. Du moins, c’est ce que j’espère faire.
Je ne pense pas que le codage soit mort en tant que forme d’art, et je pense bel et bien que ce « nouvel » artisanat aura ses propres maîtres, ses propres styles, sa propre expressivité. Qui sait, peut-être serai-je surpris et y aura-t-il quelque part un artiste en résidence maniant les orchestrateurs d’agents comme un pinceau ! Mais j’en doute un peu. Si vous ne tricotez pas, alors vous fabriquez des vêtements à la chaîne, et si ces vêtements sont jetables, alors ce n’est que de la fast-fashion. Il y a peut-être de l’art là-dedans, mais le produit final est bien moins intéressant sur le plan artistique, car il comporte moins de touche humaine.
À mon avis, nous sommes bel et bien dans l’ère de la fast-fashion du codage : les logiciels sont codés à la va-vite, utilisés, jetés, puis recodés à la va-vite. Ce n’est pas entièrement une mauvaise chose, et je suis sûr que beaucoup de non-codeurs, en particulier, sont ravis des superpouvoirs qu’ils ont acquis. Mais en tant que codeurs, nous ne devons pas perdre de vue ce que nous avons perdu, et nous devons chercher à le compenser par de nouvelles sources d’inspiration artistique.
Source : The diminished art of coding
Et vous ?
Pensez-vous que cet avis est crédible ou pertinent ?
Quel est votre avis sur le sujet ?Voir aussi :
Nous pleurons notre métier : Le pire avec ces outils d'IA, c'est qu'ils fonctionnent, ils peuvent écrire du code mieux que vous ou moi, par Nolan Lawson
Mon expérience avec le « vibe coding », par Gabriella Gonzalez
Vos pull requests slop vibe-codées ne sont pas les bienvenues, car les outils de codage basés sur l'IA posent un nouveau problème aux responsables de projets open source, par Sam Saffron
Vous avez lu gratuitement 2 193 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.
à toutes et tous,