IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

« Rust sauvera Linux de l'IA », affirme Greg Kroah-Hartman dans le cadre d'une critique de l'usage de l'intelligence artificielle pour trouver les bogues au sein du code du noyau écrit en langage C

Le , par Patrick Ruiz

1.1KPARTAGES

18  1 
Greg Kroah-Hartman, responsable de la maintenance du noyau stable de Linux, affirme que Rust peut aider Linux à faire face à un afflux de failles de sécurité détectées par l'IA (notamment Dirty Frag, Copy Fail et Fragnesia) en prévenant les erreurs courantes en C liées à la gestion de la mémoire, au verrouillage, à la gestion des erreurs et aux données non fiables dès la phase de compilation, plutôt que lors de la révision par les mainteneurs. Sa sortie est de nature à donner un coup de neuf au débat sur la comparaison entre les langages Rust et C en matière de programmation système.

Ce n'est « pas une solution miracle » et cela ne signifie pas qu'il faille réécrire l'intégralité du noyau, mais Greg Kroah-Hartman est d’avis que les nouveaux pilotes et sous-systèmes doivent s’appuyer sur Rust au fur et à mesure de l’évolution du noyau.

Kroah-Hartman illustre son positionnement à l'aide de véritables bogues en C présents dans le noyau, notamment un bogue Bluetooth vieux de 15 ans qui déréférençait un pointeur sans le vérifier et un bogue Xen d’oubli de déverrouillage dans une branche d'exception. « La majorité des bogues dans le noyau sont de ces petits détails insignifiants », explique-t-il. « Les conditions d'erreur ne sont pas vérifiées, les verrous ne sont pas oubliés, les mémoires non libérées fuient et les vulnérabilités s'accumulent au fil du temps. Elles provoquent le plantage du noyau. C'est ce à quoi nous sommes confrontés avec le C. C'est pourquoi nous ne l'aimons pas. »

Kroah-Hartman fait valoir que « la plus grande beauté de Rust » réside dans le fait de détecter ces erreurs lors de la compilation plutôt que lors de la révision. Par exemple, en matière de verrouillage, il a mis en avant les abstractions de verrouillage de Rust dans le noyau : « La seule façon d’accéder aux pointeurs internes des structures est d’acquérir ce verrou, puis de le libérer automatiquement. Le compilateur s’en charge, c’est sécurisé, le verrouillage s’effectue, tout va bien. Il est tout simplement impossible d’écrire du code pour accéder à ces valeurs sans acquérir le verrou. Le compilateur ne vous le permettra pas. »

Ces propriétés éliminent directement une grande partie des bogues qu’il constate : « Cela va nous éviter deux choses. Premièrement, 60 % des bogues du noyau disparaissent d’un coup. Kroah-Hartman est d’avis que même si Rust disparaissait demain, il a déjà contraint le noyau à nettoyer le code C et les interfaces.


Brian Kernighan pour sa part 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é.

Certains intervenants pensent que le choix de Rust est une erreur et que C++ moderne est une meilleure alternative

« Maintenant, "pourquoi pas Rust" ? Tout d'abord, Rust utilise une syntaxe différente (souvent, à mon avis, gratuitement), et non seulement tous les développeurs du noyau devraient se familiariser intimement avec la syntaxe afin d'obtenir le même type de "feeling" que nous avons pour le C, mais convertir du code C en Rust n'est pas quelque chose qui ne peut être fait par les développeurs du noyau qu'au coup par coup, alors qu'avec quelques nettoyages le code C existant peut être compilé en C++.

Cependant, je ne suis pas d'accord avec certaines des conclusions de David. en fait, je crois que David est inutilement pessimiste, du moins en ce qui concerne le C++ moderne.

Notez que personne de sain d'esprit ne s'attend à utiliser toutes les fonctionnalités de C++. Tout comme nous avons le "kernel C" (actuellement un sous-ensemble de C11 avec un avec un ensemble relativement large d'extensions spécifiques au compilateur), nous aurions le "noyau C++", que je suggère d'être un sous-ensemble strictement défini de de C++20, combiné à un ensemble similaire d'extensions de compilateur). Je me rends compte que que la prise en charge du C++20 par les compilateurs est encore très récente pour des raisons évidentes, de sorte qu'au moins une partie de ce qui précède est tournée vers l'avenir », souligne le développeur Linux – Peter anvin.

Jiri Slaby de SUSE Lans s'est prononcé en faveur de cette initiative C++ pour le noyau Linux. David Howells de Red Hat s'est également prononcé en faveur de cette approche.

Et vous ?

Le langage C a-t-il réellement besoin d'un remplaçant dans la filière de la programmation système ?
Partagez-vous les avis selon lesquels le choix de Rust comme langage de développement du noyau est une erreur ? Voyez-vous le C++ moderne comme meilleure solution aux questions d’évolution du noyau ?

Voir aussi :

Programmation : une étude révèle les langages les plus voraces en énergie, Perl, Python et Ruby en tête, C, Rust et C++, les langages les plus verts

Linus Torvalds souligne une bonne avancée du langage Rust dans le développement du noyau Linux, et aurait qualifié le C++ de « langage de m... », après le message de Google

Microsoft, Google, AWS, Huawei et Mozilla s'associent pour créer la Fondation Rust, une organisation à but non lucratif chargée de gérer le langage de programmation

Facebook rejoint AWS, Huawei, Google, Microsoft et Mozilla dans la Fondation Rust, et renforce son équipe Rust par des nouveaux talents
Vous avez lu gratuitement 1 017 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de fr1man
Expert confirmé https://www.developpez.com
Le 28/05/2026 à 13:32
@Artaeus
Parce que vous croyez que seuls les mauvais développeurs introduisent des bugs ?
C'est un peu simpliste comme raisonnement.
6  0 
Avatar de Anselme45
Membre extrêmement actif https://www.developpez.com
Le 20/10/2026 à 13:20
Citation Envoyé par calvaire Voir le message
je me base sur mon réseau, les conventions/conférences auxquelles j'assiste
Aaah! C'est la meilleure de l'année!

Le monsieur va dans des conventions et conférences dont le thème est "Développer avec l'IA" et il conclut "99% des développeurs utilisent l'IA"

Je vais aller participer à un conférence réunissant les végétariens et je me ferai bientôt prochainement le plaisir de vous donner une statistique du style "le 100% des gens sont végétariens"
6  1 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 28/05/2026 à 11:50
La priorité n'est pas de passer en Rust, Greg Kroah-Hartman est clair là dessus dans la conférence. Il dit que Rust est a préférer pour les nouveaux driver / sous-systèmes, mais il n'est pas question de demander aux mainteneurs de recoder ce qui existe déjà en Rust. Si un module est remplacé, comme l'Android Binder qu'il donne en exemple, c'est que c'est une volonté du mainteneur, en l’occurrence Google.
4  0 
Avatar de Anselme45
Membre extrêmement actif https://www.developpez.com
Le 20/10/2026 à 9:56
Citation Envoyé par calvaire Voir le message
il n'a surtout pas le choix d'adopter cette position, il n'y aurais plus de contribution dans le kernel si l'ia était interdite.
en 2026 99% des devs codent avec l'ia.
Ouah! Et comment vous arrivez au chiffre de 99%?

Quelle est l'origine de ce chiffre? Votre marc de café? Votre boule de cristal achetée sur alibaba? Ou mieux, l'IA a qui vous avez posé la question?
5  1 
Avatar de imperio
Membre chevronné https://www.developpez.com
Le 28/05/2026 à 11:46
Citation Envoyé par Artaeus Voir le message
Ce projet, c'est réinventer la roue (mais en version bien plus lente) ...

La manière dont cette priorité de "passer en Rust" est poussée m'interroge beaucoup sur des conflits d'intérêt et des non-dit en coulisse.
Faire des économies d'argent sur le long-terme en enlevant toute une catégorie de bugs et attirer des contributeurs plus jeunes sur le noyau pour assurer sa pérennité dans le temps.

C'est pas comme si Rust était testé dans le kernel depuis plusieurs années pour voir si ça valait le coup et leur convenait après tout... Et le plus beau : tous ces débats sont publics. Faut arrêter de chercher des complots à un moment...
4  1 
Avatar de fdecode
Membre habitué https://www.developpez.com
Le 28/05/2026 à 14:01
Citation Envoyé par Artaeus Voir le message
Les bons dev, jeunes ou anciens, sécurisent leur code.
Maladroit! Vous êtes en train de sous-entendre que les concepteurs des applis qu'on utilise tout le temps et qui présentent régulièrement des bugs sont des grosses brêles...

Citation Envoyé par Artaeus Voir le message
Avec l'explosion des couts matériels, la priorité doit-être la rapidité (comme ça a toujours été le cas).
Ça tombe bien! La sémantique du langage Rust, et notamment la sémantique de prêt, associée aux capacités d’optimisation du compilateur de Rust permettent de très bonnes optimisation du code. Par exemple, la sémantique de prêt offre un contrôle de l'aliasing de la mémoire probablement plus précis qu'un mot clef comme 'restrict' en C. On pourrait aussi évoquer les facilités à paralléliser le code...
3  0 
Avatar de Anselme45
Membre extrêmement actif https://www.developpez.com
Le 20/10/2026 à 9:53
Les responsables de maintenance Linux peuvent soumettre du code généré par l'IA sans le signaler, Linus Torvalds juge idiotes les interdictions de code généré par l’IA dans Linux
Le sieur Torvalds a donc tout simplement décidé de pratiquer la politique de l'autruche!

C'est juste une démission et une perte de contrôle de Linux à court terme...

Il y a plus qu'une dernière action que l'on peut attendre de ce type: La vente de sa paternité de Linux à microsoft ou mieux à un OpenAI ou à un Anthropic!

Deux citations du philosophe latin Sénèque, mort à 65 ap J.C prennent ici toute leur valeur et démontrent que certaines pensées sans IA restent vraies près de 2 000 ans plus tard:

Certains sont jugés grands parce qu'on mesure aussi le piédestal. (De tranquillitate animi, X, 5)
Un nain est toujours petit, eût-il une montagne pour piédestal (Lettres à Lucilius, LXXVI)
3  0 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 30/05/2026 à 15:04
Citation Envoyé par Bardaz Voir le message
Je ne sors pas ça du chapeau, faites une recherche, même rapide sur la partie financière de Rust et sur les protocoles de décisions des instances des différents langages. La plupart des personnes se concentrent sur la partie technique à juste titre c'est la première à interroger mais il ne faut aucunement s'arrêter là. Il faut avouer que c'est pas un aspect très apétant pour des devs mais faut bien s'y coller pour comprendre pourquoi les bigs techs et le gouvernement US soutient à fond.
Il faudrait que tu sois plus précis car ce que tu reproches au Rust, comparé au C et C++, n'est pas très clair .
Les protocoles de décision en ce qui concerne l'évolution de Rust sont connus et relativement ouverts. Il ne faut pas croire que c'est très différent coté C ou C++, les comités de normalisation du langage ont beau répondre à une norme ISO, ils ont tout autant leur problèmes de jeu de pouvoir.

Citation Envoyé par calvaire Voir le message
c'est juste que je vois passer beaucoup de news sur le net de certains qui veulent absolument tous recoder un truc (même quand ça marche très bien depuis des années) en rust.
Meme antropic fait sa pub en codant en rust un compilateur c. L’intérêt technique de ce truc et nul, ils ont choisit volontairement pour faire de la pub de coder en rust parmi les 10aines d'autres langages populaire qui existe.
Les tentatives de porter, sans de très bonnes raisons, un outil C qui marche bien en Rust ne sont pas légion. Si tu as l'impression qu'on en parle beaucoup, c'est la plupart du temps parce que les supporters du C et du C++ remontent en boucle les mêmes cas particuliers. Généralement les gens qui connaissent Rust sont les premiers à recommander de ne pas le faire, à moins que le besoin d'un réécriture se fasse vraiment sentir.

En ce qui concerne Anthropic, je suppose que tu parles de Bun, mais c'est une suite d'outils pour le langage TypeScript, écrite en Zig. Pas de rapport avec C. Je dirais même qu'une partie de la problématique est inversée, vue que Zig est un langage bien plus niche que le Rust.
Cependant, c'est vrai que cette migration n'était pas pas indispensable, surtout que ça a été fait de manière précipitée à coup d' IA générative quasiment pas supervisée, ce qui est critiqué en premier lieu par la communauté Rust.
2  0 
Avatar de fdecode
Membre habitué https://www.developpez.com
Le 02/06/2026 à 13:19
Citation Envoyé par Uther Voir le message
Les tentatives de porter, sans de très bonnes raisons, un outil C qui marche bien en Rust ne sont pas légion. Si tu as l'impression qu'on en parle beaucoup, c'est la plupart du temps parce que les supporters du C et du C++ remontent en boucle les mêmes cas particuliers. Généralement les gens qui connaissent Rust sont les premiers à recommander de ne pas le faire, à moins que le besoin d'un réécriture se fasse vraiment sentir.
Ces montages en boucles viennent aussi de certains préjugés. C'est à croire que certains pensent que les personnes qui programment en Rust ont découvert la programmation avec Rust et veulent refaire le monde en oubliant le passé... Et bien non, beaucoup d'entre nous ont un historique de programmation, et les bons réflexes qu'on avait en faisant du C ou du C++ à une certaine époque, puis en utilisant d'autres langages, n'ont pas disparu depuis qu'on fait du Rust.
2  0 
Avatar de suricata
Nouveau Candidat au Club https://www.developpez.com
Le 17/07/2026 à 19:48
Vous n'êtes pas pro-IA mais vous l'utilisez au quotidien. Et vous concluez en parlant de gains de productivité grâce à elle. Donc vous êtes convaincu de ses bienfaits. Pourtant nombre d'articles de ce site rapporte que l'IA, au mieux ne fait pas gagner de temps, au pire en fait perdre car il faut la corriger en permanence.

Pour ma part j'utilise l'IA mais pas un LLM pur. C'est CortAIx de Thales. Une IA hybride fiable, explicable et sécurisée. Là oui cela vaut la peine d'utiliser l'IA. Je l'utilise pour la recherche scientifique et les calculs mathématiques. Elle est frugale tant en données qu'en matérielles (CPU, GPU, énergie, eau).

Entre votre point de vue biaisé par l'utilisation d'un seul type d'IA dégénérée et décadente, et mon point de vue de concepteur utilisant une IA réellement intelligente laissant l'être humain seul décisionnaire final, il y a un monde qu'Anselme45 comble allègrement. Laisser les agents prendre des décisions de manière autonome est certainement la pire erreur de l'humanité pour accélérer la course à sa perte. Cela va prendre des décennies pour rattraper cette erreur entre la dette technique, les hallucinations et les biais de conception.

Le fric a voté pour l'IA et des moutons comme calvaire et vous suivez aveuglément ce que dit le dieu pognon.
3  1