Retour sur 10 ans de Rust, un langage devenu incontournable
Mon Rust est un peu rouillé

Rust fête les 10 ans de sa version stable et presque les 20 ans depuis le début du projet. Le langage de programmation s’est fait une place de choix, jusque dans les noyaux de Linux et Windows. La Rust Foundation publie pour l’occasion un long billet de blog de son créateur.
Le 16 mai à 16h35
7 min
Logiciel
Logiciel
C’est le 15 mai 2015 que la première version stable du langage Rust a été mise en ligne, la 1.0 tout simplement. Mais les premiers pas de Rust sont encore bien plus vieux et remontent en 2006, soit il y a presque 20 ans. Pour rappel, Technology Review a déjà raconté l’histoire des premières années de Rust.
Entre la version 1.0 de 2015 et celle d’aujourd’hui, Rust a gagné ses lettres de noblesse dans le petit monde des langages de programmation. Il s’est frayé depuis des années un chemin dans le noyau de Windows, ainsi que celui de Linux, non sans faire froncer quelques sourcils entre les promoteurs du Rust et mainteneurs habitués au C.
Un projet personnel en 2006, changement de braquet en 2009
C’était à la base un projet personnel de Graydon Hoare quand il était développeur chez Mozilla. Entre 2006 et 2009, Rust « générait un code extrêmement lent qui ne fonctionnait que sur 3 plateformes seulement (toutes x86 32 bits, donc en réalité une seule) ».
Il reste 81% de l'article à découvrir.
Déjà abonné ? Se connecter

Soutenez un journalisme indépendant,
libre de ton, sans pub et sans reproche.
Accédez en illimité aux articles
Profitez d'un média expert et unique
Intégrez la communauté et prenez part aux débats
Partagez des articles premium à vos contacts
Abonnez-vousRetour sur 10 ans de Rust, un langage devenu incontournable
-
Un projet personnel en 2006, changement de braquet en 2009
-
Une vie agitée entre 2015 et 2021
-
Présentation de Rust par ceux qui l’utilisent (ou le conseillent)
-
Graydon Hoare (inventeur du Rust) reprend la parole
-
10 ans de Rust en chiffres
Commentaires (33)
Le 16/05/2025 à 17h42
D'autre dev commit uniquement quand ils ont codé et testé la fonctionnalité donc vont faire un commit par semaine peut être.
Le 16/05/2025 à 17h48
Le 16/05/2025 à 19h51
Modifié le 17/05/2025 à 09h22
Modifié le 17/05/2025 à 07h53
Ceci dit Rust fait aussi des effort pour aller au delà de la simple sécurité mémoire, en évitant par défaut, autant que possible tous les comportements risqués. Par exemple, dans sa bibliothèques standard, l'utf-8 est validé et les hash utilisent par défaut des algorithmes crypographiquement sûrs, ...
Empêcher absolument tous les défauts qui peuvent mener a des vulnérabilités, c'est juste impossible, vu que leur liste ne peut pas être exhaustive. Un langage ne peut juste rien faire si l'implémentation logique est fausse. La plupart des autres type courants de failles ne se traitent d'ailleurs pas au niveau du langage mais, par exemple, au niveau du framework web (XSS, ...) ou des bibliothèques de sécurité (authentification, cryptographie, ...)
La sécurité ça ne marche pas en mode tout ou rien : faire disparaître totalement des classes de bug graves et courants, ça reste une amélioration excellente.
Le 17/05/2025 à 11h08
Le 17/05/2025 à 10h45
Ensuite, il se pose une autre question qui est de l’exécution. Tu as un langage safe, cool. Mais est-ce que ton processeur sera safe à l'execution ?
Rust en ce sens apporte une possibilité de se protéger d'un certains nombres de vulnérabilités en ayant trouvé un compromis entre temps de compilation et "preuve que c'est safe".
Le 17/05/2025 à 10h33
Le 17/05/2025 à 10h55
En cryptographie Rust sera très dangereux à utiliser car il ne peut garantir l’exécution en temps constant des instructions processeurs.
Je comprends que son auteur veut le voir partout, mais Rust ne vise qu'une niche d'application. Et la preuve en 10 ans d'existence Rust est nettement moins répandu que Python ne l'a été. Non pas qu'il est inutile, mais qu'ils visent une niche, qui représente des cas d'usages assez spécifique.
Le 17/05/2025 à 11h25
Je rajouterai des éléments qui font que, pour moi, Rust restera un langage assez cloisonné dans ses usages.
Déjà, la syntaxe. On a beau avoir de l'expérience et connaitre plus ou moins un certain nombre de langage, il est très difficile de lire et comprendre un tant soit peu du code Rust sans aucune connaissance du langage. Et ce n'est pas un langage facile. Il vient avec de nombreuses "contraintes" qui sont le pendant de la sécurité de la gestion de la mémoire. Tous les développeurs ne sont pas près à faire ça. Il suffit de voir encore tous ceux qui préfèrent faire du javascript au lieu du typescript !! (purtant, la marche technique me semble beaucoup moins haute)
De plus, il existe déjà des langages beaucoup plus sûr que le C, mais sans avoir le même modèle que le Rust. Je pense à l'Ada notamment. Pourtant, l'Ada n'a pas percé non plus, sauf dans des zones de niches. Et ça fait plus de 40 qu'il existe et qu'il évolue ! (Ada83, Ada95, Ada2005, Ada2012 et Ada2023)
Ensuite, et là c'est un avis strictement personnel, j'ai trouvé que l'API manquait un peu de cohérence et de clarté. Et avec cargo, on peut vite se retrouver avec le syndrome NPM : 1 dépendance en rajoute 50.
Enfin, je n'ai rien contre Rust pour de nouveaux projets. Mais inclure Rust dans des projets déjà existant comme le noyau Linux, c'est le meilleur moyen, à mon sens, de créer des problèmes. L'homogénéité au sein d'un projet, notamment un projet de cet envergure, devrait être la priorité. Le débogage pourra être extrêmement pénible, car il faudra à la fois avoir des connaissance sur le fonctionnement du noyau, en C et en Rust (et des connaissances plus ou moins poussées). L'attrait pour de nouveaux contributeur pourrait aussi en pâtir, tant la marche technique peut sembler élevée pour contribuer.
Le 17/05/2025 à 11h36
Sur la syntaxe je pense que c'est l'héritage de OCalm et de la programmation fonctionnelle plus que des contraintes mémoires liés aux borrow-checker.
Pour le noyaux linux, il est difficile de comprendre le choix de Linus. Certains parlent de pressions venant des GAFAMS (réduction des coûts car à terme nombres de dev Rust > nombres de dev C ou des enjeux en lien avec les licences GPL/MIT). Linus semblait parlé du fait qu'attiré de nouveaux dev en C était difficile est que Rust allait faciliter la chose.
Je suis sceptique, car au delà de C et du Rust, le dev système c'est plus une affaire d'élements très bas-niveau que d'un langage de programmation.
Mais je suis d'accord, Rust dans l'intégration du noyau risque de poser des soucis (c'est déjà le cas) car le modèle mémoire du noyau Linux n'est pas celui de Rust. (et la même logique s'applique pour tous les aspects en lien avec l'execution parallèle (threads, asynchrone, mulitprocessing...)).
A mon sens, il aurait était plus intéressant pour le noyau de faire évoluer son langage C.
Pour le Rust comme kernel, il y a le projet RedOx.
Modifié le 17/05/2025 à 13h04
Venant du C/C++, avant d'apprendre le Rust, j'arrivais assez bien à lire le langage, au moins aussi facilement que du JavaScript ou du Python. Bien sur quand on veut comprendre vraiment comment est construit un programme (y compris le design/l'architecture), il faut apprendre le langage.
Je suis utilisateur de logiciel libre avec une démarche de contributeur. Malgré une envie de participer notamment quand je rencontrais des bugs, ou j'avais envie d'une petite fonctionnalité supplémentaire je crois que je n'ai jamais réussi à participer à des programmes en C ou C++.
Alors qu'avec Rust j'ai pu le faire sur plusieurs projets, et des projets totalement différent. Une fois une base minimum du langage appris, je trouve la charge mentale pour lire le code, le comprendre et le modifier nettement plus faible.
Contexte: j'ai plus de 13ans d'expérience professionnel en programmation C/C++ et environ 3 ans en Rust (pas à temps plein).
Je trouve le code Rust plus facile à lire, car beaucoup plus explicite. L'exemple qui me vient en premier est les pointeurs en C/C++ vs Rc, RefCell, Arc, Mutex, RwLock en Rust.
En Rust le type indique l'intension et les contraintes lié à une allocation mémoire, alors qu'en C/C++ on a juste un pointeur.
Concernant l'inclusion de Rust dans le noyau Linux, effectivement ce n'est pas simple et c'est normal que ça créé des problèmes. Mais je pense que si ça été accepté par Linus, c'est parce que les avantages sont importants.
Le 17/05/2025 à 13h29
Et par curiosité, quelle version du C++ tu utilises ? Parce que je suis d'accord pour le "vieux C++". Mais ce n'est plus le cas avec le C++ moderne. Les pointeurs ne sont plus censé se trimballer seul maintenant, et surtout, sauf cas particulier, on en a rarement besoin.
Ah oui, mélanger la notion de pointeur en C avec celle du C++, c'est pas comparable. Le pointeur C et C++ sont sémantiquement la même chose, mais la manière de les utiliser à largement changer.
"L'exemple qui me vient en premier est les pointeurs en C/C++ vs Rc, RefCell, Arc, Mutex, RwLock en Rust."
C'est quoi le rapport entre un pointeur et Arc, Mutex et autres ? On mélange des choux et des carottes là, non ?
Le 17/05/2025 à 14h20
C'est une des raisons pour laquelle je préfère Rust, il y a une contrainte de "qualité de code" supérieur.
Quand je dois utiliser du code externe (une librairie par exemple), c'est plus facile d'avoir confiance dans le code (sa qualité, sa fiabilité). Et je dirais aussi, plus facile de "vérifier" si le code est de qualité.
Le rapport que je fais, c'est que dans les deux cas c'est le moyen d’accéder à une allocation mémoire.
Si le C++ moderne incite à ne plus utiliser directement les pointeurs, c'est encore possible, et très présent dans les bases de code historique.
En Rust (non Unsafe) il n'y a pas de pointeur, une allocation mémoire est encapsulé dans un objet qui contraint (et explicite) la façon dont on pourra accéder à la donnée (modification ou pas, multi-thread ou pas).
Le 17/05/2025 à 15h05
C'est une des raisons pour laquelle je préfère Rust, il y a une contrainte de "qualité de code" supérieur."*
Mais ne pas faire de C++ moderne, sauf cas particulier, est idiot ! C'est comme utiliser de l'essence au plomb alors qu'il y a mieux.
La qualité d'un code ne dépend pas d'un langage mais du développeur. En revanche qu'on se sente plus à l'aise avec Rust ou le C++ pour faire un code de qualité, c'est plus une question de goût et de couleur.
La qualité d'un code ne présume absolument pas de sa fiabilité. Voici un bon exemple : https://github.com/RustCrypto/block-ciphers. Autant de dire qu'utiliser ce code dans autre chose qu'un projet de hobbyiste, c'est prendre des gros risques.
Pourquoi ? Car Rust ne peut pas garantir l'execution en temps constant ni l'assembleur produit.
Ce qui fait la confiance d'une libraire, ce n'est pas uniquement la qualité de son code. J'ai bien plus confiance dans BLAS que dans n'importe quelle code, quand bien même Rust garanti l'absence de bug mémoire dans son implémentation.
*"Le rapport que je fais, c'est que dans les deux cas c'est le moyen d’accéder à une allocation mémoire.
Si le C++ moderne incite à ne plus utiliser directement les pointeurs, c'est encore possible, et très présent dans les bases de code historique."*
Je reformule ma question. En quoi un Mutex est un access à la mémoire ? Sémantiquement ça ne fait pas de sens.
"En Rust (non Unsafe) il n'y a pas de pointeur, une allocation mémoire est encapsulé dans un objet qui contraint (et explicite) la façon dont on pourra accéder à la donnée (modification ou pas, multi-thread ou pas"
Oui comme en C++ avec le concept du RAII. Alors certes, on n'a pas les même garanti que Rust à la compilation, mais on les a à l'execution.
Le vieux C++ doit disparaître des codes et surtout de l'enseignement de la programmation aux nouvelles générations. Le vieux C++ est révolu et ne doit perdurer que les endroits où les MaJ d'un code n'est pas simple et sans conséquence.
Le 17/05/2025 à 15h51
Bien sûr, j'ai aussi vu du code Rust pas très jolie, et pas hyper robuste.
Pas seulement, Rust (et sont écosystème) apporte plus d'outils pour aider à faire du code de qualité.
Mais c'est logique, c'est "le but" de Rust, et il est plus récent, il profite des expériences précédentes.
Et ça fait une importante différence, car à l'exécution, c'est plus compliqué à tester, et parfois difficile d'être certain que c'est bien testé.
Le 17/05/2025 à 16h22
Comme en C++ où il existe une multitude d'outils. Le Rust a l'avantage d'avoir compris que ce genre d'outils sont nécessaire à avoir dans un langage plus récent.
"Et ça fait une importante différence, car à l'exécution, c'est plus compliqué à tester, et parfois difficile d'être certain que c'est bien testé."
C'est bien vrai, mais un peu de nuance sur ce point. Les sécurités de Rust sur les accès mémoires sont partiels. Une vrai vérification est un problème NP-hard et là Rust aurait un temps de compilation mésosphérique. Le borrow-checker couvre les cas les plus courants et normalement, si on ne fait pas de saloperies, ça marche dans 100% des cas. Mais le système de vérification peut-être mis en échec et ça seul un test réel pourra permettre de le détecter.
Et là, il est très naturel dans un code C++ sérieux (qu'importe pro ou sérieux) d'avoir des checks mémoires forts sur la stack ou sur la heap lors des phases de dev et de tests. Est-ce plus naturel de faire tourner un valgrind avec Rust qu'avec du C++ ? Je ne sais pas pour ma part mais pour les codes Rust qui font du unsafe ou FFI, je n'ai pas souvenir d'un projet sur Github d'importance utilisant ce genre de vérifications.
Le 17/05/2025 à 22h20
Le 19/05/2025 à 15h14
"Oui comme en C++ avec le concept du RAII. Alors certes, on n'a pas les mêmes garanties que Rust à la compilation, mais on les a à l'exécution."
Le jeune C++ introduit std::unique_ptr, std::shared_ptr et std::weak_ptr, qui sont des pointeurs intelligents intégrés au langage standard (via la STL). Cela facilite la gestion mémoire automatique sans ramasse-miettes. C'est bien que ce soit intégré nativement dans le langage, mais en soi, ce n'est pas une révolution par rapport au vieux C++. En effet, les pointeurs intelligents de l'époque existaient déjà dans le vieux C++ via des bibliothèques à intégrer ou des implémentations maison. Ces pointeurs intelligents étaient bien enseignés. L'intégration native des pointeurs intelligents améliore le confort, mais n'efface pas les limites fondamentales du modèle, tout en masquant le fonctionnement interne et certains défauts (si vous considérez qu'il ne faut plus les enseigner).
Par exemple, les références croisées (pointeurs partagés mutuels) provoquent toujours des fuites mémoire silencieuses, sauf si l'on introduit manuellement des weak_ptr pour casser les cycles. Cela complexifie la conception, et n’est pas vérifié par le compilateur, contrairement à Rust. Une autre solution pour gérer les références croisées est d'utiliser un ramasse-miettes, ce qui permet de réaliser des programmes plus complexes tout en soulageant la charge mentale.
Rust n'a ni ramasse-miettes ni pointeurs intelligents, mais au moins il impose des contraintes fortes à la compilation, ce qui interdit par construction les cas incohérents. Il offre un modèle mémoire sûr par conception.
Le vieux C++ obligeait déjà à faire attention ; le nouveau C++ rend juste les bonnes pratiques un peu moins pénibles à appliquer. Mais la charge mentale reste, contrairement à Rust ou aux langages à ramasse-miettes.
Le 23/05/2025 à 13h31
Oui, on pouvait faire des choses avant, mais c’est tellement plus propre et plus sûr depuis C++11 qu’on peut quand même dire qu’il y a eu un gros cap de franchi.
Le 17/05/2025 à 12h40
Aujourd'hui, je sais qu'il prend place notamment dans les noyaux (windows, linux), en cybersécurité dans les outils de protection réseaux, dans les backend d'application web, dans des applications client (Un certain nombre d'application Gnome, le client Dropbox), dans l'embarqué, dans le jeux-vidéo (même si timidement pour l'instant), dans les applications web client (avec WASM). Donc je n'appellerais pas ça une niche.
Et sur quoi tu te bases pour dire que Rust est nettement moins répandu que Python ?
Nettement moins sur quel critère ? Le nombre de développeur ? Le nombre de programme écrit ? Le nombre de personne qui utilise des programmes écrit dans le langage ?
Et les époques sont différentes, les langages n'ont pas du tout le même objectif, donc je ne vois pas trop comment une comparaison de popularité ou d’expansion pourrais être pertinente.
Le 17/05/2025 à 13h41
En dehors du HPC, de toute approche parallèle plus complexe qu'un fork-join, de la crytographie, du jeux vidéos... Rust est très bon là où la sécurité mémoire est critique (e.g, équipement réseau, pare-feu, noyau...). Mais si la sécurité mémoire n'est pas une priorité, Rust devient moins utile/interessant comme solutions.
"Et sur quoi tu te bases pour dire que Rust est nettement moins répandu que Python ?"
La faible migration de projet vers Rust (les offres en C++ sont largement supérieure à Rust en France). Le faible classement dans l'index TIOBE, et le fait que le C/C++ domine toujours depuis 10 ans alors que Rust peine encore à prendre la place.
Quand Python est arrivée, en 10 ans il a pris la place de Matlab, IDL et consort dans les milieux académiques et industrielle. Matlab est encore enseigné dans les écoles d'ingénieurs au coté de Python mais de plus en plus de prof. passe à Python. Idem pour les universités.
Quand à Rust, bah il commence à sortir le bout de son nez.
Tu parlais du Rust dans le jeu vidéo. Je ne l'ai pas vu détroner significativement le C++ dans ce domaine. En revanche, j'ai vu Python faire office d'alternative à Lua.
Le 17/05/2025 à 14h50
Je ne suis personnellement pas convaincu par leur pertinence pour comparer l’expension de Python et Rust.
Par exemple :
Dans l'autre sens, lors des sondages Stack Overflow, Rust est souvent mis en avant. Je cite : Je ne pense pas qu'il serait autant plébiscité des développeurs l'ayant essayé si c'était un langage qui vise une niche (ce qui était le propos de départ).
Je ne pense pas que ça soit une comparaison pertinente. C++ est utilisé pour la partie moteur, qui est d'une certaine façon la fondation technique d'un jeu, ce sur quoi s'appuie tout le reste. C'est plusieurs millions de lignes de code.
Alors que Lua et Python sont plutôt utilisés pour les parties scripting. Donc des bases de code beaucoup plus petite, et qui sont plus différentes d'un jeu à l’autre.
Le 17/05/2025 à 15h15
Pour SO, comparer Rust, Javascript et Python me laisse dubitatif sur les questions posés. bref, ce genre de sondages a la même valeur que "80 % des sympatisants d'un parti politique sont pour Mr X à la tête du parti". Et pourtant Mr X se prendre une branlée aux élections présidentielles.
Pour le jeux vidéo, où verrais-tu l'usage de Rust ?
Le 17/05/2025 à 15h36
Coté moteur il a une bonne place à jouer par exemple. Bevy-engine me semble prometteur, notamment par son architecture, ses designs techniques (sa gestion ECS avec les
systems
).Mais également coté éditeur de contenu, Rust me parait très pertinent car il permet de faciliter la création et surtout la maintenance de grosses applications complexe.
Par contre il faudra du temps, justement parce que ce sont de grosses applications, avec une dépendance à tout un écosystème (librairie de GUI pour l’éditeur, physique pour les moteurs de jeux), donc il faut aussi que l'écosystème migre (par l'utilisation d'alternative), ou au minimum se rende compatible avec Rust.
Embark-studios par exemple mise beaucoup sur Rust, avec un certain nombre de projet écrit en Rust publié en opensource.
Le 17/05/2025 à 16h23
Le 19/05/2025 à 14h31
Je ne trouve pas de sources qui confirme ce que vous dites. Je comprend que la gestion mémoire sous-jacente en Rust peut faire varier la vitesse d'exécution et donc poser des problèmes d'exécution en temps constants, là où en C, il faut expliciter la gestion dynamique de la mémoire, mais de ce que j'ai lu, il semble possible de développer des algos en temps constant en Rust, vu que les bibliothèques de CryptoRust notamment celle ci, le proposent. Sachant que de toute façon il est peu recommandé d'implémenter ses propres bibliothèques liées au chiffrement, que ce soit en Rust ou en C/C++ ou dans n'importe quel langage, il n'y a pas vraiment de moment où a besoin de faire très attention sur le temps constant dès lors qu'on utilise une bibliothèque éprouvée. Même pour comparer deux "mot de passe" ou "token", ne suffirait-il pas d'utiliser une fonction "officielle" pour le faire ?
De plus, si vous voulez développer votre propres fonction, j'ai trouvé cette bibliothèque Rust qui teste si votre exécution est bien en temps constant : https://github.com/rozbb/dudect-bencher
Avez vous un lien qui explique en quoi se serait un problème indépassable ?
Le 19/05/2025 à 15h20
21. Paul C. Kocher. Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems. In
Advances in Cryptology – CRYPTO 96, volume 1109 of LNCS, pages 104–113. Springer, 1996.
22. Robert Könighofer. A fast and cache-timing resistant implementation of the AES. In Tal Malkin, editor,CT-RSA, volume 4964 of Lecture Notes in Computer Science, pages 187–202. Springer, 2008.
Parmi quelques exemples en tête.
ça n'a rien à voir avec la manière dont Rust ou le C gère la mémoire à la fin tout est un pointeur (même en Rust). ça a avoir avec la conversion du Rust/C en assembleur.
Et prouver qu'un code est en temps constant ne se fait pas avec dudect-bencher. Il manque des fonctionnalités essentielles pour quelque chose d'aussi sérieux que de la cryptographie.
Modifié le 19/05/2025 à 15h59
Le deuxième lien ne fait pas plus référence au langage Rust. Je me suis arrêté là, car je vois pas en quoi ces attaques par canal auxiliaire assez connues sont liées particulièrement à Rust, d'autant que je vous ai cité une bibliothèque Rust qui annonce des bibliothèques en temps constant : https://github.com/RustCrypto/crypto-bigint. Après je n'ai pas étudié cette bibliothèque, mais le temps constant est bien évoqué dans la description du projet.
Edit : Rust est bien affecté par des attaques par canal auxiliaire, lorsque c'est le processeur qui n'arrive pas à faire des calculs en temps constant, mais dans ce cas le C/C++ est affecté tout autant, et dans les deux langages il peut y avoir des stratégies d’atténuation. Ma question est plutôt, existe-il des liens qui explicitent en quoi Rust est plus problématique par rapport à un autre langage sur ces questions ?
Le 19/05/2025 à 18h09
L'autre défaut à mon sens, c'est que l'inclusion d'asm en Rust n'apporte aucune garanti à ma connaissance que le compilateur ne va pas modifier l'ordre des instructions, en C tu peux garantir ceci.
En pratique, la seule façon d'être robuste (en Rust comme en C) et d'utiliser une lib "de confiance" (comme tu l'as mentionné dans ton précédent poste).
Le défaut majeure de Rust est cette manie à vouloir tout réécrire. Très bien, si ça fait plaisir à des personnes de coder en Rust et de moderniser de vieilles choses en C/C++, allez-y. Mais vouloir reprogrammer du chiffrement en Rust (comme AES), c'est prendre un risque si jamais c'est mal fait.
Si tu couples avec l'effet NPM de Rust et ses crates, tu arrives à quelque chose où des implémentations cryptographiques vulnérables vont se retrouver cacher au fin fond d'un empilement de crate pour des services exposés sur le Web. C'est pas comme si on n'avait pas le retour d'expérience avec NPM ou Pip.
Mitigons ce point par le fait que les algorithmes de chiffrements modernes (i.e, plus récent qu'AES) tel que Chacha20 sont conçus pour éviter une partie des défauts de l'AES et de ce type d'attaque, car les LUT n'existent plus dans le design et repose que sur des opérations que l'on sait produire en temps constant.
Concernant les liens et les sources, tu as les trois papiers (mais tu as déjà capté l'idée) et le reste n'est que de la logique qui a déjà été éprouvé avec le C (cf. RSA et l'exponentiation modulaire).
Conclusion de mon point. Si je dois utiliser du chiffrement en Rust (e.g. AES) , je chercherai idéalement une lib de référence (e.g., standard ou certification FIPS). A défaut quelque chose qui s'appuie sur des librairies éprouvées dans d'autres langages. Dans le pire des cas, une implémentation reposant uniquement sur l'usage des instructions AES-NI. Tout le reste, en dehors d'un projet perso sans conséquence, je ne voudrais même pas l'inclure.
Ultime conclusion: Rust est un langage "memery safe" (même s'il y a des limites) contrairement au C ou C++. Mais Rust et le C ne sont pas langages "constant time".
Le 19/05/2025 à 18h47
Maintenant implémenter soit même un algorithme de chiffrement est un risque en soit, quelque soit l'algorithme et quelque soit le langage, et il vaut mieux se baser dans tous les cas sur des implémentations faites par des développeurs spé math, validées pourquoi par la NIST. En France, je dirais "validé par l'ANSSI" (en plus de la NIST (qui peut le plus, peut le moins)).
Le 17/05/2025 à 10h57
Le seul truc que je trouve, c'est du VPS pour jouer à un jeu vidéo.
Et j'ai bien la source, mais j'ai tellement l'impression de lire un billet bullshit mi-marketing mi-IA que je doute même de la véracité de l'information dans le lien donné par Next.
Le 17/05/2025 à 12h28
J'en ai profité pour regarder les autres sources du paragraphe et rien de bien intéressant, là non plus.
Je me demande vraiment comment on peut titrer que c'est un langage devenu incontournable !
Quant à son inventeur qui s'enorgueillit du nombre de modifications faites depuis la version 1.0, je me demande s'il se rend compte que ces très nombreuses modifications montrent que le langage n'était pas mûr. Un langage qui évolue trop n'est pas encore mature.