il y a une petite hype pour réécrire tout en Rust.
Je ne suis pas bien au fait de l’état de la hype chez les développeurs systèmes mais il me paraît plus vraisemblable qu’il s’agissent d’utiliser Rust pour les nouveaux développements, mais sûrement pas de « tout réécrire » en Rust. Que ce soit pour Linux ou pour d’autres logiciels écrits actuellement en C.
Ce que je vais dire est à prendre avec des pincettes et tous les dispositifs de protection intellectuelle nécessaires, parce qu’encore une fois, mon expérience en la matière est insignifiante, mais c’est comme ça que je vois les choses, ce que je peux en dire en ma qualité de méta-expert de renommée inter-régionale.
Rust, de par sa conception plus récente que C (et pas qu’un peu !), présente sans aucun doute des caractéristiques avantageuses par rapport au C, qui traîne une « dette » (notez qu’on dit "legacy" si on veut rester hype) faramineuse, inévitable à son âge vénérable. Mais ce dernier reste une référence absolue pour les langages de « haut-niveau » compilés. C++ n’a rien à voir (aucun jugement de valeur mais l’approche est pour ainsi dire à l’opposé du C), et si Rust semble pouvoir éventuellement se revendiquer digne successeur de C, c’est assez récent. Ce n’est ni Java/Scala, ni Go, ni à ma connaissance aucun autre langage qui peut se targuer d’être au même niveau de justesse en terme d’équilibre entre « langage de haut-niveau », et « langage au plus proche du matériel et sans fioriture telle qu’un ramasse-miette, orientation object ou autre paradigme d’une complexité excessive ». Nonobstant les avantages que chacun d’entre eux peut posséder par ailleurs. C, un langage qui fait peu (tout ce qu’il faut mais pas plus), et qui le fait bien. Un langage exigeant qui ne fait aucun concession sur la performance pour disposer de fonctionnalités destinées à éviter au développeur de se fourvoyer.
Je pense que l’article ci-dessous, datant d’il y a trois mois, bien qu’assurément entaché d’inexactitudes qu’il m’est malheureusement impossible de préciser, dresse un état des lieux relativement représentatif. État des lieux que je résumerai de façon tout aussi relativement inexacte : « Rust dans Linux, on peut dire que ça a dépassé le statut d’idée à discuter, mais pas encore atteint celui d’une évidence indiscutable. »
[^] # Re: Mouais
Posté par Marotte ⛧ . En réponse au lien Expérimentation scheduler Linux en Rust avec des promesses de gain pour les jeux. Évalué à 3. Dernière modification le 21 février 2024 à 20:23.
Je ne suis pas bien au fait de l’état de la hype chez les développeurs systèmes mais il me paraît plus vraisemblable qu’il s’agissent d’utiliser Rust pour les nouveaux développements, mais sûrement pas de « tout réécrire » en Rust. Que ce soit pour Linux ou pour d’autres logiciels écrits actuellement en C.
Ce que je vais dire est à prendre avec des pincettes et tous les dispositifs de protection intellectuelle nécessaires, parce qu’encore une fois, mon expérience en la matière est insignifiante, mais c’est comme ça que je vois les choses, ce que je peux en dire en ma qualité de méta-expert de renommée inter-régionale.
Rust, de par sa conception plus récente que C (et pas qu’un peu !), présente sans aucun doute des caractéristiques avantageuses par rapport au C, qui traîne une « dette » (notez qu’on dit "legacy" si on veut rester hype) faramineuse, inévitable à son âge vénérable. Mais ce dernier reste une référence absolue pour les langages de « haut-niveau » compilés. C++ n’a rien à voir (aucun jugement de valeur mais l’approche est pour ainsi dire à l’opposé du C), et si Rust semble pouvoir éventuellement se revendiquer digne successeur de C, c’est assez récent. Ce n’est ni Java/Scala, ni Go, ni à ma connaissance aucun autre langage qui peut se targuer d’être au même niveau de justesse en terme d’équilibre entre « langage de haut-niveau », et « langage au plus proche du matériel et sans fioriture telle qu’un ramasse-miette, orientation object ou autre paradigme d’une complexité excessive ». Nonobstant les avantages que chacun d’entre eux peut posséder par ailleurs. C, un langage qui fait peu (tout ce qu’il faut mais pas plus), et qui le fait bien. Un langage exigeant qui ne fait aucun concession sur la performance pour disposer de fonctionnalités destinées à éviter au développeur de se fourvoyer.
Je pense que l’article ci-dessous, datant d’il y a trois mois, bien qu’assurément entaché d’inexactitudes qu’il m’est malheureusement impossible de préciser, dresse un état des lieux relativement représentatif. État des lieux que je résumerai de façon tout aussi relativement inexacte : « Rust dans Linux, on peut dire que ça a dépassé le statut d’idée à discuter, mais pas encore atteint celui d’une évidence indiscutable. »
https://www.zdnet.com/article/rust-in-linux-where-we-are-and-where-were-going-next/