
il juge l’écosystème de Rust « incompréhensiblement vaste et lent »
Brian Kernighan, co-créateur d'Unix, a partagé ses réflexions sur les langages modernes tels que Rust, les distributions Linux et les descendants d'Unix. Il a souligné que les solides fonctionnalités de sécurité mémoire de Rust font des vagues dans la communauté, offrant aux développeurs un moyen d'écrire du code plus sûr. Toutefois, après l'avoir testé, Brian Kernighan juge l’écosystème de Rust « incompréhensiblement vaste et lent ». Il n'a écrit qu'un seul programme en Rust, mais rapporte une expérience pénible. Son avis contraste avec celui d'autres figures de l'industrie, comme Linus Torvalds, créateur du noyau Linus.
Brian Kernighan, 83 ans, est un informaticien canadien de renom connu pour avoir coécrit le premier livre sur le langage de programmation C (avec Dennis Ritchie). Il est également le co-créateur des langages Awk, avec Alfred Aho et Peter Weinberger, et AMPL. Il a travaillé aux Bell Labs et a contribué au développement d'Unix aux côtés des créateurs d'Unix, Ken Thompson et Dennis Ritchie. Il est aussi connu pour d'autres travaux pionniers dans l'informatique.
En 1969, il obtient un doctorat d'électrotechnique à l'université de Princeton, où en 2004, il occupe un poste de professeur. « J'enseigne toujours à Princeton. Je n'ai pas encore pris ma retraite ! », a-t-il déclaré récemment, devant un public réuni au InfoAge Science and History Museums de Wall, dans le New Jersey.
Brian Kernighan avait été invité à prendre la parole lors du festival « Vintage Computer East ». Lors de l'événement, il a partagé ses réflexions sur ce qu'il pense du monde d'aujourd'hui, avec son abandon du langage C au profit de langages de programmation plus sûrs pour la mémoire. Il a mis l'accent sur le langage Rust, qu'il a utilisé pour écrire un programme. Mais alors que Rust jouit d'une popularité croissant, Brian Kernighan n'a pas du tout été séduit.
Brian Kernighan critique vivement les performances du langage Rust
« Pensez-vous que Rust ait un quelconque intérêt à remplacer C ? Ou s'agit-il simplement d'un énorme battage médiatique qui finira par s'essouffler ? », a demandé un membre du public. Dans un monde qui évolue depuis des années vers des langages plus sûrs pour la mémoire, la réponse d'un fervent défenseur du langage de programmation C depuis plus d'un demi-siècle promettait d'être tout simplement emblématique. Il s'est montré très très critique.
Brian Kernighan a trouvé son expérience avec Rust « pénible ». Selon lui, les mécanismes imposés par Rust pour garantir la sécurité mémoire sont trop lourds, surtout dans un programme où la gestion de la mémoire n’était pas un problème majeur. Il décrit son unique essai comme « une douleur », et juge l’écosystème du langage — avec ses crates, sa complexité et la lenteur de la compilation — comme « incompréhensiblement vaste et lent ».
« Ohhh, Rust », a déclaré Brian Kernighan, sous les rires du public. « Je n'ai écrit qu'un seul programme en Rust, vous devez donc prendre tout cela avec beaucoup de recul. Et j'ai trouvé cela pénible. Je n'arrivais tout simplement pas à comprendre les mécanismes nécessaires pour assurer la sécurité de la mémoire, dans un programme où la mémoire n'était même pas un problème ! ». Sa plus grande critique semble concerner ses performances de Rust.
« Et le compilateur était lent, le code qui en ressortait était lent... », a-t-il déclaré. « Quand j'ai essayé de comprendre ce qui se passait, le langage avait changé depuis la dernière fois que quelqu'un avait publié une description ! Il m'a donc fallu plusieurs jours pour écrire un programme qui, dans d'autres langages, aurait pris peut-être cinq minutes... »
Le 15 mai 2025, le compte Twitter officiel du projet FFmpeg a publié un message acerbe à l'encontre de Rust qui dit : « [Rust] est tellement bon que l'on peut être payé 20 000 $ pour le rendre aussi rapide que C ». Cette remarque visait l'initiative de Prossimo, qui a proposé une prime de 20 000 $ à quiconque parviendrait à rendre son décodeur AV1, rav1d, aussi rapide que dav1d, une implémentation en C largement reconnue pour sa rapidité.
Cette déclaration a ravivé le débat sur les compromis entre sécurité mémoire, performance et coût dans le développement de systèmes critiques. Il s'agit d'un débat de longue date dans la communauté des développeurs. Certains chérissent les performances brutes, tandis que d'autres préfèrent la sécurité.
Les limites du jugement de Brian Kernighan concernant le langage Rust
Dans l'ensemble, Brian Kernighan avait eu une mauvaise expérience. Il reconnaît qu’il n’a écrit qu’un seul programme en Rust et conseille de prendre ses critiques avec prudence. Il précise que son expérience reste personnelle et ne doit pas être vue comme un rejet définitif du langage. Cela dit, il ne considère pas Rust comme un remplaçant du C : « je suis probablement trop cynique. Mais je ne pense pas qu'il va remplacer C tout de suite, en tout cas ».
La position de Brian Kernighan sur Rust contraste avec celle de Linus Torvalds, créateur du noyau Linux. Linus Torvalds est favorable à l'introduction de Rust dans le noyau Linus, ce qui constitue l’un des changements techniques les plus significatifs de ces dernières années. Le langage de programmation Rust, réputé pour sa sécurité mémoire et sa modernité par rapport au langage C, a suscité un débat très intense parmi des développeurs du noyau.
Depuis l'annonce de la prise en charge expérimentale de Rust dans le noyau Linux, plusieurs mainteneurs ont exprimé des inquiétudes quant à l'impact de ce changement. Parmi eux, Christoph Hellwig a pris une position ferme contre l'utilisation de Rust, mettant en avant des arguments relatifs à la complexité et à la fragmentation du développement du noyau. Les critiques craignent que le mélange de Rust et du C ne rende Linux impossible à maintenir.
Face aux préoccupations soulevées, Linus Torvalds a clarifié sa position sur Rust. Il a affirmé qu'il n'est pas question d'imposer Rust aux mainteneurs qui ne souhaitent pas travailler avec ce langage. Linus Torvalds a expliqué que les mainteneurs ne seront pas contraints d'interagir avec du code Rust s'ils n'en voient pas l’utilité. Cependant, cela ne signifie pas qu'ils ont le droit de bloquer son intégration dans des domaines où il est jugé bénéfique.
Linus Torvalds a précisé que la demande d’intégration d’un module en Rust, qui était à l’origine du débat, n’avait aucune incidence directe sur le code existant maintenu par Christoph Hellwig. Dès lors, il n’était pas justifié que ce dernier cherche à bloquer l’évolution du noyau dans ce sens.
Linus Torvalds a également insisté sur un principe fondamental du développement de Linux : le pragmatisme et la flexibilité. Selon lui, l'objectif n'est pas d'obliger quiconque à travailler avec Rust, mais de permettre à ceux qui veulent l’utiliser de le faire sans contraintes excessives. L'année dernière, Linus Torvalds a exprimé sa déception face au faible taux d'adoption de Rust, les principaux mainteneurs du noyau étant plus habitués au langage C.
Pourquoi Rust dans le noyau Linux ?
L'adoption de Rust dans le noyau Linux repose sur plusieurs motivations majeures :
- sécurité mémoire améliorée : l’un des principaux atouts de Rust est sa gestion de la mémoire sécurisée par conception. Contrairement au C, qui repose sur une gestion explicite de la mémoire (et donc sujet à des erreurs comme les dépassements de tampon et les accès à des pointeurs invalides), Rust empêche ces erreurs à la compilation. Cela permet de réduire la surface d’attaque du noyau, particulièrement pour les pilotes et modules de bas niveau ;
- fiabilité et modernité : Rust introduit des concepts modernes, tels que le système de propriété et l’emprunt de mémoire, qui facilitent l’écriture de code robuste. Pour un projet aussi critique que le noyau Linux, cela peut se traduire par une réduction significative des bogues et des failles de sécurité ;
- un développement plus modulaire : Rust permet de développer des modules et pilotes isolés qui peuvent coexister avec du code en C sans nécessiter une réécriture complète du noyau. Cela signifie que les développeurs peuvent progressivement tester et adopter Rust sans perturber le fonctionnement global de Linux ;
- l’adoption croissante dans l’industrie : de grandes entreprises technologiques, comme Google, Microsoft et Meta, soutiennent l'utilisation de Rust pour des composants critiques de bas niveau. Google, par exemple, a déjà commencé à utiliser Rust dans le noyau Android pour renforcer la sécurité.
Il faut noter que l'adoption de Rust soulève des défis :
- apprentissage du langage : certains mainteneurs ne sont pas familiers avec Rust, et il faudra du temps pour qu’une partie significative de la communauté Linux se l’approprie ;
- support des outils et chaînes de compilation : bien que Rust dispose d’un excellent écosystème, son intégration au sein des infrastructures existantes du noyau nécessite un travail supplémentaire ;
- équilibre entre conservatisme et innovation : Linux a toujours été un projet où le pragmatisme prime sur la mode technologique. Torvalds veut s’assurer que Rust apporte une véritable valeur ajoutée avant de l’étendre plus largement.
Brian Kernighan revient sur son passage au sein des laboratoires Bell
Au cours de son intervention, Brian Kernighan a évoqué avec émotion l'ambiance générale qui régnait chez Bell Labs, la qualifiant de coopérative, collégiale et agréable... « C'était très agréable de passer du temps avec ces gens ». Mais il a ajouté qu'après l'arrivée de Microsoft Windows, « le monde de la technologie avait complètement changé » et que beaucoup d'efforts, d'attention et de talents avaient commencé à se concentrer sur le monde des PC...
Il se souvient que « les bonnes idées et les personnes talentueuses se sont en quelque sorte éloignées, dans une certaine mesure, voire beaucoup, d'Unix ». Et « l'accent était beaucoup plus mis sur l'interaction », car Microsoft fabriquait des produits grand public (qui n'étaient pas destinés à « une population technique »). Il a toutefois rappelé à l'auditoire que le monde avait ensuite assisté au développement de Linux, qui perpétue l'héritage d'Unix.
Que pense-t-il donc de la démocratisation d'Unix aujourd'hui ? Les utilisateurs de Mac/iPhone utilisent les descendants d'Unix sans même le savoir. Le projet s'éloigne ainsi de la philosophie originale libre et open source. « Je pense que vous avez mis le doigt dessus », a répondu Brian Kernighan, « quand vous avez dit que la plupart des gens ne le savent pas... ».
Il a fait remarquer que les iPhone fonctionnent avec une « version d'Unix assez évoluée », tandis que les téléphones Android fonctionnent avec une version différente de Linux sous-jacente... « De mon point de vue, en tant que personne qui a été vaguement impliquée dans les débuts et qui possède un téléphone, je trouve cela intrigant. Et je trouve aussi assez irritant qu'il y ait en dessous un système avec lequel je pourrais faire des choses, mais auquel je n'ai pas accès ! », a-t-il déclaré.
Son public a de nouveau ri et applaudi... Un participant a même souligné que « Brian Kernighan a effectivement été impliqué dans le logiciel pendant toute la durée de vie du logiciel en tant que produit commercial ». Mais cela signifie aussi qu'il a vécu pour voir sa commercialisation et sa productisation.
Il a également été invité à répondre à la question suivante : « avez-vous des commentaires pertinents sur l'état actuel des logiciels tels qu'ils existent aujourd'hui... ? » Brian Kernighan a souri malicieusement — tandis que son public riait à nouveau — lorsque l'interlocuteur ajouta : « en dix mots maximum, si possible ! ».
« La plupart sont nuls... ! », répondit-il sous les applaudissements du public. « Malheureusement, c'est tout à fait vrai ». Il a ajouté à l'intention de son interlocuteur : « je pourrais développer, mais peut-être hors ligne... ».
Brian Kernighan contre le vibe coding
Au cours de sa présentation, Brian Kernighan a déclaré que l'un des héritages d'Unix réside dans « les programmes qui écrivent des programmes ». « Un compilateur crée un langage d'assemblage... ? C'est un programme qui écrit un programme... Et une fois que vous avez compris le principe, les programmes qui écrivent des programmes font du bon travail. Ils le font souvent mieux que les humains », a expliqué l'informaticien.
Mais ensuite, en entendant ses propres mots, il a rapidement ajouté une mise en garde. « Je passerai sur ce qui se passe avec les grands modèles de langage... » Alors que le public riait, il a poursuivi : « parce que mes quelques tentatives dans ce domaine ont en quelque sorte invalidé ce que je viens de dire ! ».
Avec l'essor d'outils d'IA tels que ChatGPT, il est désormais possible de décrire un programme en langage naturel et de demander au modèle d'IA de le traduire en code fonctionnel, souvent sans comprendre comment le code fonctionne. Andrej Karpathy, ancien chercheur d'OpenAI, a donné un nom à cette pratique : le « vibe coding ». Elle gagne du terrain dans les milieux technologiques. Google a même déclaré générer 25 % de son code par IA.
David Farley pour sa part affirme que le vibe coding est la pire idée dans l'ingénierie logicielle en 2025. Dette technique et illusion de productivité sont des facteurs que le développeur doit intégrer de façon plus aigüe lorsqu’il opte pour l’utilisation de l’IA aux fins de codage. En gros, l’intervention de personnes avec un bagage conséquent en développement informatique demeure nécessaire comme le souligne Cendyne sur Developpez.com :
« Le "Vibe Coding" peut vous permettre d'obtenir un concept fonctionnel à 80 %. Mais pour produire quelque chose de fiable et de sûr, qui vaille la peine de dépenser de l'argent, vous aurez besoin d'humains expérimentés pour faire le travail difficile qui n'est pas possible avec les modèles d'aujourd'hui ».
Alors que la conférence touchait à sa fin, quelqu'un a demandé à Brian Kernighan de donner un conseil aux futures générations de programmeurs. C'est une question à laquelle il a déjà répondu, et sa première réaction a été de reconnaître que « la réponse à cette question, la vraie réponse, est je ne sais pas ».
Source : Brian Kernighan, cocréateur d'Unix
Et vous ?










Voir aussi



Vous avez lu gratuitement 4 538 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.