Facebook affiche désormais son amour pour Rust
Le 30 avril 2021 à 08h08
2 min
Logiciel
Logiciel
Le réseau social a commencé à se servir du langage dès 2016, pour la réécriture d’un composant nommé Mononoke et impliqué dans le contrôle des sources. Le projet fut un succès, avec un objectif atteint sur les performances et la fiabilité. Selon Facebook, il s’agissait d’un composant idéal, car largement isolé des autres systèmes.
Au cours des trois années suivantes, l’adoption de Rust a grandi pour atteindre un nombre croissant de projets, tous assez isolés – essentiellement des outils pour développeurs – pour ne pas introduire d’incompatibilité lors d’interfaçages avec le code existant en C++.
Facebook dispose maintenant d’une équipe dédiée à Rust dans la prise en charge des langages, ce qui signifie répondre officiellement aux développeurs utilisant Rust pour manier les API Facebook et travailler à l’interopérabilité entre Rust et C++.
L’entreprise annonce dans la foulée rejoindre la Rust Foundation. Un acteur de poids pour soutenir un langage gagnant grandement en visibilité depuis sa création par Mozilla.
Pour l’instant, Facebook ne parle pas de remplacer tout l’ancien code par du Rust : le travail serait titanesque, et le rapport investissement/bénéfice s’inverserait. D’autant que l’entreprise adopte rapidement les nouveautés du C++ qui l’intéressent, par exemple les coroutines de C++ 20.
Elle prépare surtout un avenir où – comme Mozilla le fait depuis des années – de nouveaux projets pourront être écrits en Rust et viendront se greffer sur la base existante. Facebook voit pour l’instant le langage comme une extension intéressante, qui ne remet pas en cause l’existant.
Le 30 avril 2021 à 08h08
Commentaires (9)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 30/04/2021 à 08h23
C / C++ le nouveau Cobol ?
Le 30/04/2021 à 08h43
Ce que j’aime beaucoup avec ces organisations, c’est que même si des acteurs qui ont très mauvaise presse et qui une éthique très discutable le rejoignent comme Facebook & co, la manière dont elles fonctionnent fait que ça ne peut que leur bénéficier et donc bénéficier aux développeurs et indirectement aux utilisateurs :)
Le 30/04/2021 à 09h39
Meilleur langage.
Le 30/04/2021 à 10h38
Linux, Microsoft, Facebook…
Vive le Rust washing pour raviver la confiance des gens dans la sécurité des logiciels.
Le 30/04/2021 à 11h37
C’est une bonne nouvelle car cela augmente la légitimité de choisir ce language dans les développements.
Je pense que ce sont plus les devs et les chefs projets que cela rassure car, comme pour le C++ à son époque, ce nouveau language permet de minimiser les problèmes d’intégration et de maintenance.
Le 30/04/2021 à 12h45
Pour parler de mon cas personnel, toutes les fois où on me parle de Rust c’est quasi-exclusivement pour les annotations syntaxiques des pointeurs (~ et @) qui permettent de détecter les erreurs de gestion de la mémoire au moment de la compilation.
Le reste du “langage” Rust c’est plutôt un point négatif pour les dev/cdp car ca fait un autre langage a apprendre/gérer.
En gros, un C/C++ avec ces deux annotations suffirait à 99% des gens qui encensent Rust.
Le 30/04/2021 à 13h41
L’opérateur ~ n’existe plus depuis Rust 1.0, c’est remplacé exclusivement par le type Box.
L’opérateur @ n’a rien à voir avec les pointeurs mais est utilisé dans les patterns pour pouvoir récupérer la valeur qui répond au pattern:
match a {
b @ 1 … 2 => …,
b @ _ => …,
}
L’avantage du Rust par rapport au C++ ne réside pas dans l’existence de smart pointeurs dont tu parles parce qu’ils existent déjà en C++.
C’est plutôt dans sa manière de contrôler la propriété (ownership) des variables, de savoir si tu peux de manière safe partagé un type de données entre plusieurs threads, etc. qu’il apporte un réel plus. On peut beaucoup plus sereinement essayer de conserver le plus possible de référence pour éviter des copies et allocations inutiles ou de partager des données entre threads en sachant qu’on garantisse le bon niveau de synchronisation. Essaye de proposer un lib de parsing XML C++ qui évite de faire des allocations et apprend à tes users qu’il faut faire gaffe que c’est des références et qu’il ne faut absolument pas qu’elles vivent plus longtemps que le document xml, et tu vas pleurer en support parce que c’est pas vérifié par le compilateur.
Et dans le “reste du langage”, je trouve qu’il apporte beaucoup de modernité (comparé au C/C++, moins pour d’autres langages, mais il s’attaque plutôt aux langages systèmes qui sont vraiment à la traine de ce côté-là), les apports de type pattern matching, programmation fonctionnelle, un système de packaging standard que la communauté utlise vraiment, ça fait beaucoup de bien en tant que dev système !
Le 30/04/2021 à 14h40
Mouais. En somme si tout le monde fait tu le fait ?
La justification de l’usage d’un langage se fait par le coté technique et PAS parce que un gros loup y vient. Surtout s’il y vient pour mettre le souk…
C’est un peu comme de prendre une 2CV pour faire les 24 heures du Mans sous prétexte que tout le monde en a une. Jacky’s touch in da house.
Le 30/04/2021 à 16h56
Non, je ne suis pas du genre à tout jeter à chaque nouveauté. De fait, côté interprété, je fait du perl car je fait de la génération de documents pdf à partir de données collectées en base de données et le module base de données de perl est juste une tuerie. Bref, je ne fait pas dans l’effet de mode.
Oui et non, cela dépend du point de vue. Personnellement, je suis convaincu de l’intérêt de Rust, pour des raisons très techniques. Le problème vient souvent des décideurs (chefs d’entreprise, chefs projets), qui sont des quiches en technique et qu’il faut convaincre du bien fondé de tes choix.
Parler de réduction des risques et du temps d’intégration est déjà un argument qui leur parle si tu arrive à traduire cela en €. Dire que des boîtes surveillées à la culotte par leur actionnaires ont un retour d’expérience positif avec ce langage est un argument qui leur parle très bien car ils sont également sur la sellette.
En gros, tu vend de la diminution de coûts et de risques pour le projet et une diminution des risques pour leur fesses. Ils achètent donc de la sérénité.