Publié dans Logiciel

14

Google investit un million de dollars dans la fondation Rust

Logo du langage Rust

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 ».

14

Tiens, en parlant de ça :

Un mélange entre une réunion d’Anonymous et de tête d’ampoules, pour le meilleur et le pire

663e édition des LIDD : Liens Intelligents Du Dimanche

I’m Blue myself

00:00 Next 0

[Édito] Le buzz à tout prix sur les réseaux sociaux

Intelligence artificielle vs bêtise humaine

17:32 NextSocials 54

La Commission européenne se penche sur l’alternative paiement ou publicité comportementale de Meta

Neverending Story

17:02 DroitSocials 5
next n'a pas de brief le week-end

Le Brief ne travaille pas le week-end.
C'est dur, mais c'est comme ça.
Allez donc dans une forêt lointaine,
Éloignez-vous de ce clavier pour une fois !

14

Commentaires (14)


Magyar Abonné
Le 07/02/2024 à 12h 17
Est ce qu'il y a des personnes ici qui utilise RUST pour de l'embarqué. Si oui, je suis pas contre un petit retour d'expérience :)
Le 07/02/2024 à 14h 32
Mon retour.
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é.
Modifié le 07/02/2024 à 14h33
Magyar Abonné
Le 09/02/2024 à 14h 43

127.0.0.1

Mon retour.
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é.
Merci pour le retour.
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 ?
Le 09/02/2024 à 15h 47

Magyar

Merci pour le retour.
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 ?
Je dirais qu'on n'est pas encore "à l'aise" en RUST puisqu'on s'est limité à porter le code existant. On ne connait sans doute pas tout ce qu'il est possible de faire avec ce langage.

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.
Magyar Abonné
Le 10/02/2024 à 14h 40

127.0.0.1

Je dirais qu'on n'est pas encore "à l'aise" en RUST puisqu'on s'est limité à porter le code existant. On ne connait sans doute pas tout ce qu'il est possible de faire avec ce langage.

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.
Merci, c'est déjà top, ça me permet d'avoir un ordre d'idée. Chez nous on en est encore loin, j'aimerai déjà qu'on puisse faire un POC/benchmark pour comparer avec un code C/C++ en termes de temps réel et d'occupation mémoire. Voir les avantages/inconvénients d'un point de vue pratique.
R4VEN Abonné
Le 07/02/2024 à 12h 33
Encore un bel héritage de la fondation Mozilla ❤️
Erwan123 Abonné
Le 07/02/2024 à 14h 32
Rust, Python, Java et C/C++

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é :non:)

En attendant les implants Neuralink v.1X pour dialoguer directement du cerveau à la machine (à la Matrix quoi...:stress::D)
Modifié le 07/02/2024 à 14h39
Le 08/02/2024 à 00h 37
Les fonctions lourdes en calcul, comme les codec vidéo, sont toujours optimisés avec des bouts de programme en assembleur, si j'en crois les discussions sur forum.doom9.org
Kwacep Abonné
Le 08/02/2024 à 07h 09

Zebulon84

Les fonctions lourdes en calcul, comme les codec vidéo, sont toujours optimisés avec des bouts de programme en assembleur, si j'en crois les discussions sur forum.doom9.org
Oui assembleur est encore beaucoup utilisé pour ces fonctions. Notamment dans VLC.
wanou Abonné
Le 08/02/2024 à 08h 25

Kwacep

Oui assembleur est encore beaucoup utilisé pour ces fonctions. Notamment dans VLC.
j'imagine qu'une partie du problème réside dans l'incapacité des languages compilés d'utiliser certaines instructions liées par exemple à des type de données non gérées.

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
Erwan123 Abonné
Le 14/02/2024 à 11h 46

Kwacep

Oui assembleur est encore beaucoup utilisé pour ces fonctions. Notamment dans VLC.
Tout à fait, c'est vrai dont notamment tous les AV1 rav1 (Rust & Assembleur) et le dav1d (C99 & Assembleur).

Oui il y a encore quelques niches (et sûrement pas beaucoup de programmeurs non plus qui pratiquent ou qui maitrisent l'assembleur).
Erwan123 Abonné
Le 14/02/2024 à 11h 45

Zebulon84

Les fonctions lourdes en calcul, comme les codec vidéo, sont toujours optimisés avec des bouts de programme en assembleur, si j'en crois les discussions sur forum.doom9.org
Tout à fait, c'est vrai dont notamment tous les AV1 rav1 (Rust & Assembleur) et le dav1d (C99 & Assembleur).

Oui il y a encore quelques niches (et sûrement pas beaucoup de programmeurs non plus qui pratiquent ou qui maitrisent l'assembleur).
Modifié le 14/02/2024 à 11h46

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 ).

Magyar Abonné
Le 09/02/2024 à 14h 45
Le projet Dav1d de VLC a énormément d'assembleur
Erwan123 Abonné
Le 14/02/2024 à 11h 47

Magyar

Le projet Dav1d de VLC a énormément d'assembleur
Tout à fait, c'est vrai dont notamment tous les AV1 rav1 (Rust & Assembleur) et le dav1d (C99 & Assembleur).

Oui il y a encore quelques niches (et sûrement pas beaucoup de programmeurs non plus qui pratiquent ou qui maitrisent l'assembleur).