IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

« Les équipes Rust chez Google sont deux fois plus productives que celles qui se servent de C++ », d'après un responsable de l'entreprise
Qui lance le débat de la productivité entre Rust et C++

Le , par Patrick Ruiz

43PARTAGES

10  0 
Les comparatifs entre les langages Rust et C++ portent en général sur des aspects comme la performance et la sécurisation des espaces mémoires des applications. Certains benchmarks suggèrent que les applications Rust sont plus rapides que leurs équivalents en langage C. Et c’est justement pour ces atouts que sont la parité en termes de vitesse d’exécution en comparaison avec le C, mais surtout pour la sécurisation et la fiabilité que de plus en plus d’acteurs de la filière du développement informatique recommandent le Rust plutôt que le C ou le C++. C’est sur la question de l’impact que le choix de ces langages a sur la productivité des développeurs que les intervenants ne se sont pas trop penchés. Google vient de publier les résultats d’un sondage en interne et il en ressort que les équipes Rust en son sein sont deux fois plus productives que celles qui se servent du langage C++.

Les conclusions de Google se basent sur les perceptions des répondants au sondage. Le temps nécessaire à une réimplémentation en Rust comparé à celui d’une précédente réimplémentation en langage C++ est l’un des premiers aspects sur lesquels le sondage en interne au géant technologique a porté.

« Nous avons noté une réduction de 50 % de l’effort nécessaire pour mettre sur pied un service en langage Rust ainsi que pour en assurer la maintenance », déclare Lars Bergstrom dans son comparatif d’impact sur la productivité des développeurs causé par les langages Rust et C++.


L’enquête comparative de l’impact du choix des langages C++ et Rust sur la productivité des développeurs s’est étendue au-delà de la production du code informatique. Les répondants ont en sus partagé leurs perceptions pour ce qui est de la productivité en Rust comparée à celle d’autres langages (C++, Java, etc.) dont ils font usage. Dans les chiffres, le tiers des répondants a déclaré devenir aussi productif en Rust que dans les autres langages en 2 mois au maximum.



Lorsqu'un développeur a fini de travailler sur un ticket, un autre membre de son équipe passe en revue le code en se posant les questions suivantes :

  • Le code présente-t-il des erreurs logiques évidentes ?
  • Après examen des exigences, tous les cas ont-ils été complètement mis en œuvre ?
  • Les nouveaux tests automatisés sont-ils suffisants pour le nouveau code ? Les tests automatisés existants doivent-ils être réécrits pour intégrer les modifications apportées au code ?
  • Le nouveau code est-il conforme au guide stylistique actuel ?

C’est un jeu de questions qui démontre le potentiel impact des revues de code sur la productivité d’un ou d’une équipe entière de développement. Les résultats de l’enquête de Google suggèrent que le langage Rust est susceptible de s’avérer être un bon choix pour ceux désireux de se simplifier les revues de code. En effet, plus de la moitié des répondants du sondage déclarent que les revues de code en langage Rust sont plus aisées que dans d’autres langages (C++, Java, Python, etc.)


Le sondage s’est en sus penché sur la qualité du code comme indicateur de productivité. Dans les chiffres, 85 % des répondants sont d’avis que le langage Rust permet d’obtenir des bases de code d’un niveau de qualité supérieur à celui d’autres langages.


L’analyse du temps passé par les développeurs de logiciels dans les activités de création de produits et les tâches nécessaires pour mettre le code en production fait partie des métriques sur lesquelles s’appuie McKinsey dans l’évaluation de la productivité des développeurs. De façon concrète, il s’agit de mesurer la répartition du temps entre les activités de codage, de construction et de tests unitaires (boucle interne) et les activités d’intégration, de test d’intégration, de publication et de déploiement (boucle externe). C’est la mise en œuvre d’un procédé en principe similaire qui permet à Google d’arriver à la conclusion que les équipes Rust chez Google sont deux fois plus productives que celles qui s’appuient sur le langage C++.


La productivité des développeurs est en général sujette à débats. Certains intervenants de la filière sont d’avis que le sondage de Google souffre d’un biais de sélection des répondants dont les perceptions orientent les résultats.


Certains intervenants de la filière mettent souvent la chaîne d’outils du langage Rust en avant comme l’un des atouts susceptibles d’améliorer la productivité des développeurs en comparaison à d’autres langages de programmation. Des observateurs sont néanmoins d’avis que le compilateur Rust est un tueur silencieux de la productivité des développeurs qui travaillent sur des bases de code importantes.


Source : Lars Bergstrom

Et vous ?

Quelle appréciation faites-vous des résultats de ce sondage mené en interne par Google ? Sont-ils pertinents ? Quels sont les aspects qui vous semblent biaisés ?
Que pensez-vous de l’analyse du temps passé en C++ puis en Rust dans les activités de création de produits et les tâches nécessaires pour mettre le code en production comme métrique de mesure de la productivité des développeurs ? Quelles sont les métriques susceptibles de la compléter dans le processus de comparaison de l’impact du choix des langages C et C++ sur la productivité des développeurs ?

Voir aussi :

Programmation : une étude révèle les langages les plus voraces en énergie, Perl, Python et Ruby en tête, C, Rust et C++, les langages les plus verts

Linus Torvalds souligne une bonne avancée du langage Rust dans le développement du noyau Linux, et aurait qualifié le C++ de « langage de m... », après le message de Google

Microsoft, Google, AWS, Huawei et Mozilla s'associent pour créer la Fondation Rust, une organisation à but non lucratif chargée de gérer le langage de programmation

Facebook rejoint AWS, Huawei, Google, Microsoft et Mozilla dans la Fondation Rust, et renforce son équipe Rust par des nouveaux talents

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Pyramidev
Expert éminent https://www.developpez.com
Le 30/03/2024 à 20:28
J'avais vu passer ça sur r/rustjerk.

Citation Envoyé par Patrick Ruiz Voir le message
Comment se fait-il que les équipes qui utilisent Rust soient aussi peu productives que celles qui utilisent Go ?
5  0 
Avatar de kiruahxh
Membre à l'essai https://www.developpez.com
Le 30/03/2024 à 20:50
Le gros soucis de productivité en C++ vient de la chaîne d'outils (gestion des dépendances, scripts de build, cross-compilation) et de la librairie standard, très optimisée mais pauvre en fonctionnalités. Avec le framework Qt on se sent déjà un peu mieux.
Je pense que ces soucis peuvent bien prendre la moitié du temps de dev, le langage lui-même étant assez complet pour du bas niveau
5  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 01/04/2024 à 18:58
Non,

C'est Mozilla qui a tout d'abord parrainé Rust qui a été créé par un de leur ingénieur. Microsoft en est membre également.

Google on créé Go, mais c'est sur Rust qu'ils investissent.
3  0 
Avatar de Pyramidev
Expert éminent https://www.developpez.com
Le 02/04/2024 à 1:23
Citation Envoyé par Pyramidev Voir le message
Comment se fait-il que les équipes qui utilisent Rust soient aussi peu productives que celles qui utilisent Go ?
J'avais écrit ce passage sur un ton un peu trollesque, car j'aime bien taper sur le langage Go de temps en temps. La dernière fois, je crois que c'était en juillet 2023.

Concernant la conférence, je viens de regarder ce qui en a été dit sur r/rust. Je suis tombé sur le commentaire :

Citation Envoyé par steveklabnik1
For everyone asking: in the talk, Lars mentions that they often rely on self-reported anonymous data. But in this case, Google is large enough that teams have developed similar systems and/or literally re-written things, and so this claim comes from analyzing projects before and after these re-writes, so you’re comparing like teams and like projects. Timestamped: https://youtu.be/6mZRWFQRvmw?t=27012

Some additional context on these two specific claims:

Google found that porting Go to Rust "it takes about the same sized team about the same time to build it, so that's no loss of productivity" and "we do see some benefits from it, we see reduced memory usage [...] and we also see a decreased defect rate over time"

On re-writing C++ into Rust: "in every case, we've seen a decrease by more than 2x in the amount of effort required to both build the services written in Rust, as well as maintain and update those services. [...] C++ is very expensive for us to maintain."
À 7h30m12, il y a effectivement des détails intéressants.

En fait, le présentateur ne dit pas que la réécriture en Rust offre la même productivité que l'écriture en Go. Il dit que l'équipe a la même taille et que ça prend autant de temps à coder, mais aussi que ça réduit la consommation de mémoire et les bogues. Moins de bogues, ce n'est pas une productivité égale.

Citation Envoyé par Metal3d Voir le message
Les dev Rust s'admirent tellement dans le miroir. Franchement, le comportement de leur communauté me décide à ne plus jamais utiliser Rust. Ils sont devenus hautains, désagréables, insultant et surtout ils utilisent des arguments moisis pour descendre les autres langages. Ça me dégoûte au point de rejeter leur langage malgré l'intérêt potentiel du compilo (c'est le seul truc bien de Rust d'ailleurs)

Moi j'en ai marre de les entendre.
Citation Envoyé par OrthodoxWindows Voir le message
Pourtant Rust possède de nombreuses qualités indéniables, mais il n'est en effet pas aidé par sa communauté.
Le mépris des autres n'incite pas à la considération...
Est-ce spécifiquement sur ce forum ou bien aussi ailleurs ?
3  0 
Avatar de Metal3d
Membre régulier https://www.developpez.com
Le 30/03/2024 à 21:13
Les dev Rust s'admirent tellement dans le miroir. Franchement, le comportement de leur communauté me décide à ne plus jamais utiliser Rust. Ils sont devenus hautains, désagréables, insultant et surtout ils utilisent des arguments moisis pour descendre les autres langages. Ça me dégoûte au point de rejeter leur langage malgré l'intérêt potentiel du compilo (c'est le seul truc bien de Rust d'ailleurs)

Moi j'en ai marre de les entendre.
8  6 
Avatar de imperio
Membre émérite https://www.developpez.com
Le 01/04/2024 à 22:49
Citation Envoyé par chrtophe Voir le message
Non,

C'est Mozilla qui a tout d'abord parrainé Rust qui a été créé par un de leur ingénieur. Microsoft en est membre également.

Google on créé Go, mais c'est sur Rust qu'ils investissent.
Ce qu'a dit Anselme45 est juste, Google est bien un des membres fondateurs de la fondation Rust (qui a été créée quand Mozilla a arrêté de supporter le projet).

Ceci dit, Google est une énorme entreprise, donc placer de l'argent dans Rust ne les empêche pas de supporter d'autres projets (comme Go).
1  0 
Avatar de fdecode
Membre régulier https://www.developpez.com
Le 03/04/2024 à 15:32
Citation Envoyé par Metal3d Voir le message
Franchement, le comportement de leur communauté me décide à ne plus jamais utiliser Rust. Ils sont devenus hautains, désagréables, insultant et surtout ils utilisent des arguments moisis pour descendre les autres langages. Ça me dégoûte au point de rejeter leur langage malgré l'intérêt potentiel du compilo (c'est le seul truc bien de Rust d'ailleurs)

Moi j'en ai marre de les entendre.
Je ne peux que vous conseiller de continuer selon vos désirs!

Citation Envoyé par Metal3d Voir le message
Les dev Rust s'admirent tellement dans le miroir
Non, je pense qu'ils admirent avant tout le langage et qu'ils lui sont reconnaissants de les aider à bien programmer. Et le langage lui-même hérite de quelques beaux concepts qui ont mûri au fil du temps.

Cet article un peu daté est assez éclairant sur quelques belles idées dont Rust s'est inspiré:
https://pling.jondgoodwin.com/post/cyclone/
1  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 02/04/2024 à 7:17
Ce qu'a dit Anselme45 est juste
Je me suis mal exprimé. Je voulais dire que non, il n'était pas utile de préciser que Google est membre fondateur de la Rust Foundation.

C'est pas parce qu'ils financent Rust que leurs équipes sont deux fois plus productives qu'en utilisant C++.
0  0 
Avatar de walfrat
Membre émérite https://www.developpez.com
Le 02/04/2024 à 10:08
Citation Envoyé par Metal3d Voir le message
Les dev Rust s'admirent tellement dans le miroir. Franchement, le comportement de leur communauté me décide à ne plus jamais utiliser Rust. Ils sont devenus hautains, désagréables, insultant et surtout ils utilisent des arguments moisis pour descendre les autres langages. Ça me dégoûte au point de rejeter leur langage malgré l'intérêt potentiel du compilo (c'est le seul truc bien de Rust d'ailleurs)

Moi j'en ai marre de les entendre.
Est ce que tu es sur qu'il s'agissent vraiment de dev Rust pur et dur ? Et pas de devs qui suivent les modes en trouvant toujours une excuse pour degueuler sur un truc dès que la mode est passée ?

Parce que bon, des gens qui vomissent et prétendent que tel truc est "dead" c'est pas nouveau
0  0 
Avatar de djm44
Membre régulier https://www.developpez.com
Le 03/04/2024 à 0:21
Avec Rust l'homme dépasse la machine dans la course à la productivité.
0  0