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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Rust Discussion :

Rust, réalité et fiction : 5 leçons tirées de l'expérience Rust de Google en 2022


Sujet :

Rust

  1. #1
    Communiqués de presse

    Femme Profil pro
    Traductrice Technique
    Inscrit en
    Juin 2023
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Traductrice Technique

    Informations forums :
    Inscription : Juin 2023
    Messages : 938
    Points : 66 073
    Points
    66 073
    Par défaut Rust, réalité et fiction : 5 leçons tirées de l'expérience Rust de Google en 2022
    Rust, réalité et fiction : 5 leçons tirées de l'expérience Rust de Google en 2022, selon l'enquête de Lars Bergstrom et Kathy Brennan.

    Lars Bergstrom (PhD - Langage de programmation de la plateforme Android) et Kathy Brennan (PhD - Systèmes d'exploitation de bas niveau, Chercheur principal en expérience utilisateur) ont réalisé une enquête concernant l'utilisation du langage Rust. Voici la publication qu'ils ont faite sur les résultats de cette expérience, axée sur 5 points.

    Nom : Header - OSS - Experiences Developing with Rust at Google.png
Affichages : 55385
Taille : 58,4 Ko

    Atteignant la version 1.0 en 2015, Rust est un langage relativement nouveau qui a beaucoup à offrir. Les développeurs qui s'intéressent aux garanties de performance et de sécurité offertes par Rust se demandent s'il est possible d'utiliser Rust à la place de ce qu'ils utilisaient jusqu'à présent. Que se passerait-il si les grandes entreprises essayaient de l'utiliser dans leur environnement actuel ? Combien de temps faudrait-il aux développeurs pour apprendre le langage ? Une fois qu'ils l'auront appris, seront-ils productifs ?

    Dans cet article, nous analyserons quelques données couvrant des années d'adoption précoce de Rust chez Google. Chez Google, nous avons constaté une augmentation de l'adoption de Rust, en particulier dans nos applications et plateformes grand public. En nous appuyant sur les plus de 1 000 développeurs de Google qui ont écrit et livré du code Rust dans le cadre de leur travail en 2022, nous allons nous attaquer de front à certaines rumeurs, en confirmant certains problèmes qui pourraient être améliorés et en partageant certaines découvertes éclairantes que nous avons faites en cours de route.

    Nous tenons à remercier tout particulièrement l'un de nos principaux fournisseurs de formation, Ferrous Systems, qui nous a permis de commencer à adopter Rust chez Google. Nous souhaitons également mettre en avant de nouveaux supports de formation en libre-service appelés Comprehensive Rust 🦀 sur lesquels la communauté et nous-mêmes avons travaillé au cours des derniers trimestres.

    Rumeur 1 : Rust prend plus de 6 mois à apprendre - Démenti !

    Tous les participants à l'enquête sont des développeurs de logiciels professionnels (ou dans un domaine connexe), employés par Google. Bien que certains d'entre eux aient une expérience préalable de Rust (environ 13%), la plupart d'entre eux viennent de C/C++, Python, Java, Go, ou Dart.

    D'après nos études, plus de 2/3 des répondants sont confiants dans leur capacité à contribuer à une base de code Rust en deux mois ou moins lorsqu'ils apprennent Rust. De plus, un tiers des personnes interrogées deviennent aussi productives en utilisant Rust que d'autres langages en deux mois ou moins. En quatre mois, ce chiffre est passé à plus de 50 %. De manière anecdotique, ces chiffres correspondent au temps nécessaire aux développeurs pour adopter d'autres langages, à l'intérieur comme à l'extérieur de Google.

    Dans l'ensemble, nous n'avons vu aucune donnée indiquant qu'il y a une pénalité de productivité pour Rust par rapport à n'importe quel autre langage que ces développeurs ont utilisé précédemment chez Google. Les étudiants qui suivent le cours Comprehensive Rust 🦀 le confirment : les questions posées le deuxième et le troisième jour montrent que les développeurs de logiciels expérimentés peuvent se familiariser avec Rust en très peu de temps.

    Nom : image3.png
Affichages : 6897
Taille : 49,3 Ko

    Rumeur 2 : Le compilateur Rust n'est pas aussi rapide que les gens le souhaiteraient - Confirmé !

    La lenteur du compilateur est de loin la première difficulté rencontrée par les développeurs lors de l'utilisation de Rust, avec seulement un peu plus de 40% des personnes interrogées qui trouvent la vitesse acceptable.

    Il y a déjà un effort fantastique de la part de la communauté pour améliorer et suivre les performances de Rustc. Cet effort est soutenu par des bénévoles et plusieurs entreprises (dont Google), et nous sommes ravis de voir que des développeurs clés travaillent dans ce domaine, mais il est clair qu'un soutien supplémentaire continu et potentiellement croissant serait bénéfique.

    Rumeur 3 : Le code non sécurisé et l'interopérabilité sont toujours les plus grands défis - Démenti !

    Les trois domaines les plus difficiles de Rust pour les développeurs actuels de Google sont les suivants :

    • Macros
    • Propriété et emprunt
    • Programmation asynchrone

    L'écriture de code non sécurisé et la gestion de l'interopérabilité C/C++ ont été citées comme des choses que les développeurs de Google ont rencontrées, mais ne sont pas des défis majeurs. Ces trois autres domaines sont des endroits où l'équipe de conception du langage Rust a investi dans l'aplanissement de la courbe d'apprentissage en général ainsi que dans l'évolution continue. Les résultats de notre enquête interne sont tout à fait d'accord avec ces domaines d'investissement.

    Rumeur 4 : Rust a des messages d'erreur de compilateur étonnants - Confirmé !

    Rust est généralement considéré comme ayant certains des messages d'erreur les plus utiles dans l'espace compilateur, et cela s'est confirmé dans cette enquête également. Seuls 9 % des répondants ne sont pas satisfaits de la qualité des informations de diagnostic et de débogage en Rust. Les commentaires des participants à Comprehensive Rust 🦀 vont dans le même sens : les gens sont étonnés par les messages du compilateur. Au début, c'est une surprise - les gens sont habitués à ignorer les grosses erreurs du compilateur, mais après s'être habitués, les gens l'adorent.

    Voici des extraits d'un exercice que certains Googlers internes ont fait pour pratiquer Rust. (résoudre Advent of Code 2021 en Rust)

    Au cinquième jour de l'exercice, nous devons effectuer une recherche d'entrées dans un tableau. L'erreur ci-dessous ne détecte pas seulement que notre filtrage sur le résultat manquait un cas, mais suggère également une solution.

    Nom : image4.png
Affichages : 6908
Taille : 148,2 Ko

    Le jour 11, nous devons vérifier si un élément se trouve à l'intérieur des limites d'une grille. L'avertissement Rust ci-dessous détecte que nous avons une comparaison redondante due au fait que les types sont non signés, et suggère du code qui pourrait être supprimé.

    Nom : image2.png
Affichages : 6889
Taille : 69,0 Ko

    Rumeur 5 : Le code Rust est de haute qualité - Confirmé !

    Les personnes interrogées ont déclaré que la qualité du code Rust était élevée - 77 % des développeurs étaient satisfaits de la qualité du code Rust. En fait, lorsqu'on leur a demandé de comparer s'ils pensaient que le code Rust était plus correct que le code qu'ils écrivent dans d'autres langages, une écrasante majorité de 85% des répondants sont convaincus que leur code Rust est correct.

    Et il n'est pas seulement correct, il est aussi facile à réviser. Plus de la moitié des personnes interrogées affirment que le code Rust est incroyablement facile à réviser. En tant que responsable de l'ingénierie, ce résultat est, à bien des égards, au moins aussi intéressant pour moi que les résultats relatifs à la création de code, car la révision de code représente une part au moins aussi importante du rôle d'un ingénieur logiciel professionnel que la création de code.

    Comme Google et d'autres l'ont noté, la satisfaction et la productivité des développeurs sont corrélées à la fois à la qualité du code et au temps nécessaire pour obtenir une révision du code. Si Rust n'est pas seulement meilleur pour écrire du code de qualité, mais aussi meilleur pour obtenir ce code, c'est un ensemble de raisons convaincantes, au-delà même de la performance et de la sécurité de la mémoire, pour que les entreprises l'évaluent et envisagent de l'adopter.

    Regarder vers l'avenir

    Bien que plus de mille développeurs constituent un bon échantillon d'ingénieurs, nous espérons que l'adoption se poursuivra et qu'une future enquête inclura beaucoup plus de cas d'utilisation. En outre, bien que de nombreux développeurs interrogés aient rejoint des équipes sans expérience Rust, cette population compte plus d'utilisateurs précoces enthousiastes que nous ne l'aurions souhaité dans le cadre d'une enquête plus large. Restez à l'écoute l'année prochaine pour une nouvelle mise à jour !


    Source : Article de Lars Bergstrom et Kathy Brennan sur Google Open Source

    Et vous ?

    Selon vous, cette recherche est-elle crédible ou pertinente ?
    Quel est votre avis sur le sujet ?

    Voir aussi :

    Zig, le langage de programmation compilé, inspiré de Rust et conçu pour concurrencer le C, serait plus sûr et plus rapide que Rust,
    Un avis de Zack Radisic, de l'université de Toronto


    C-rusted : les avantages de Rust, en C sans les inconvénients,
    Une analyse des trois chercheurs de l'Université de Parme en Italie


    Le langage de programmation Rust gagne en popularité parmi les développeurs et fait son entrée dans le top 20, selon Tiobe.
    Python, Java, C et C++ s'accaparent à eux seuls de 55% de parts de marché
    Publication de communiqués de presse en informatique. Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 471
    Points : 6 110
    Points
    6 110
    Par défaut
    Citation Envoyé par Jade Emy Voir le message
    Rumeur 1 : Rust prend plus de 6 mois à apprendre - Démenti !
    En 2014, Rob Pike, l'un des 3 concepteurs du langage Go, avait affirmé, pour justifier les choix de conception du langage Go :

    Citation Envoyé par Rob Pike
    The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python.

    They’re not capable of understanding a brilliant language but we want to use them to build good software.

    So, the language that we give them has to be easy for them to understand and easy to adopt.

    Si on en croit l'article récent de Lars Bergstrom et Kathy Brennan, finalement, les développeurs de chez Google ne sont pas si nuls et ont les prérequis intellectuels pour coder dans un bon langage comme Rust.

  3. #3
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 685
    Points : 1 376
    Points
    1 376
    Billets dans le blog
    7
    Par défaut
    Au train oû vont les choses, Rust risque de devenir de l'histoire ancienne. L'administration de Rust est en crise sérieuse.


  4. #4
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 471
    Points : 6 110
    Points
    6 110
    Par défaut
    Citation Envoyé par Madmac Voir le message
    L'administration de Rust est en crise sérieuse.
    Nom : whatever_the_fuck_rust_foundation_is_doing.png
Affichages : 3000
Taille : 1 015,1 Ko

    De mon côté, je pense que Rust va quand même continuer de monter en popularité. En effet, certains programmes ont besoin d'avoir de bonnes performances, ce qui incite très fortement à choisir un langage sans ramasse-miettes. Or, C++ a tendance à faire peur aux entreprises à cause des erreurs de mémoire, ce qui place Rust quasiment en situation de monopole.

    Comme le dit l'auteur de la chaîne Let's Get Rusty, la Fondation Rust essaie de s'améliorer.

    Mais j'espère qu'elle réussira à s'améliorer suffisamment vite pour limiter la fréquence des bad buzz. Les choix des technologies en entreprise se font énormément par la preuve sociale (l'effet mouton) donc, plus il y aura de bad buzz, plus cela ralentira l'adoption du langage.

Discussions similaires

  1. La réalité rattrape la science-fiction
    Par laurentSc dans le forum Langage
    Réponses: 5
    Dernier message: 24/09/2019, 09h55
  2. 8thwonderland de la fiction à la réalité ?
    Par mortapa dans le forum Politique
    Réponses: 14
    Dernier message: 25/03/2011, 12h16
  3. Réponses: 0
    Dernier message: 27/10/2010, 11h50
  4. Equation d'une parabole étirée
    Par Freakazoid dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 28/01/2005, 19h28
  5. particule tirée et la camera ?
    Par ilimo dans le forum DirectX
    Réponses: 1
    Dernier message: 12/08/2004, 14h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo