Google est la dernière entreprise majeure en date à se pencher sérieusement sur le langage Rust. Ce n’était qu’une question de temps, tant Rust plait pour le développement système. On a pu voir récemment comment un ingénieur s’est lancé d’ailleurs dans le développement d’un noyau écrit intégralement dans ce langage.
Cet intérêt renforcé se manifeste par une donation d'un million de dollars à la fondation en charge de l'avenir du langage. Pour rappel, il avait été créé par Mozilla, avant de prendre son indépendance devant le succès croissant.
Cet investissement doit plus particulièrement améliorer l’interopérabilité entre Rust et C++. « Bien que Rust ne convienne pas à toutes les applications, la priorité donnée à une interopérabilité transparente avec C++ accélérera l'adoption par la communauté, s'alignant ainsi sur les objectifs de l'industrie en matière d'amélioration de la sécurité des mémoires », a ainsi indiqué Royal Hansen, vice-président chargé de la sûreté et de la sécurité.
Google dit avoir observé une accélération dans l’adoption Rust, au fur et à mesure que les obstacles sont gommés. En outre, d’après Dave Kleidermacher, vice-président chargé de l'ingénierie, de la sécurité et de la confidentialité d'Android, « Rust a empêché de manière proactive des centaines de vulnérabilités d'avoir un impact sur l'écosystème Android. Cet investissement vise à étendre l'adoption de Rust à divers composants de la plateforme ».
Commentaires (14)
#1
#1.1
On a ré-écrit du code C existant et fonctionnel en Rust: ca nous a forcé à faire une revue du code existant et corriger certaines "ambiguités". Notamment la mutabilité/ownership. On n'a pas trouvé de bug caché, mais ca évitera surement d'en créer dans le futur quand on modifiera/ajoutera du code.
Coder depuis zero en Rust: on n'a pas encore fait. Mais je vois ca comme un moyen d'imposer des "bonnes pratiques" a peu de frais. C'est pas très couteux d'écrire directement en Rust, comparé à faire du C et être obligé de faire des revues/corrections que Rust aurait évité.
#1.2
A combien estime-tu le temps de formation puis de pratique pour qu'un développeur expérimenté en C devienne à l'aise en RUST ?
#1.3
De mémoire, les devs ont eu une formation rapide (1.5j je crois) qui a abordé la syntaxe puis les spécificités (ownership...) et au final un atelier pour mettre en pratique. Parce que les devs ca aime bien mettre les mains dans le code pour comprendre :)
Ensuite, et surtout, on a pris en prestation un codeur RUST expérimenté pour servir de référent à notre équipe de dev durant tout le portage. Ca a permis aux devs d'apprendre par la pratique (=certains diront sur le tas) mais auprès de qqn qui connait bien RUST... On espère donc qu'ils ont de bonnes pratiques de dev en RUST.
Le portage a duré 4-5 mois. L'équipe c'était 3 dev internes + le référent externe RUST.
L'équipe n'était pas à 100% sur le portage, mais pas loin. p-e 80% ?
je viens de lancer CLOC sur l'ancien code C et ca me dit "files: 63, code: 24637."
voila, c'est un retex fait a la va-vite sur notre experience qui n'est surement pas transposable à ton cas. Mais si ca peut aider.
#1.4
#2
#3
Je pense qu'avec ces 4 là on a un quarté gagnant qui couvre quasiment tout...
(bon pour le gars qui programme encore tout seul dans son coin en assembleur, l'époque du Zilog Z80 - du cher regretté Amstrad CPC - , ben c'est mort et enterré )
En attendant les implants Neuralink v.1X pour dialoguer directement du cerveau à la machine (à la Matrix quoi...)
#3.1
#3.2
#3.3
J'ai en tête les calculs en décimal codé binaire qui sert au type DECIMAL des dialectes SQL et sans aucun équivalent en C, C++, java ou rust, à ma connaissance.
Mais il y a sûrement d'autres bonnes raisons
#3.6
Oui il y a encore quelques niches (et sûrement pas beaucoup de programmeurs non plus qui pratiquent ou qui maitrisent l'assembleur).
#3.5
Oui il y a encore quelques niches (et sûrement pas beaucoup de programmeurs non plus qui pratiquent ou qui maitrisent l'assembleur).
Historique des modifications :
Posté le 14/02/2024 à 11h45
Tout a fait ca, c'est vrai dont notamment tous les AV1 rav1 (Rust & Assembleur) et le dav1d (C99 & Assembleur).
Oui il y a encore quelques niches (et surement pas beaucoup de programmeurs non plus qui pratiquent ou maitrisent l'assembleur ).
#3.4
#3.7
Oui il y a encore quelques niches (et sûrement pas beaucoup de programmeurs non plus qui pratiquent ou qui maitrisent l'assembleur).