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 :

L'équipe en charge de Rust annonce Rust 2018


Sujet :

Rust

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Dirigeant
    Inscrit en
    Juin 2016
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Dirigeant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 3 160
    Points : 66 249
    Points
    66 249
    Par défaut L'équipe en charge de Rust annonce Rust 2018
    L'équipe en charge de Rust annonce Rust 2018,
    deux mots-clés ont été ajoutés, async et await pour faciliter l'écriture de code asynchrone

    Rust est un langage de programmation compilé multi-paradigme conçu et développé par Mozilla Research. Il a été conçu pour être « un langage sécurisé, concurrent, pratique », supportant les styles de programmation purement fonctionnel, modèle d'acteur, procédural, ainsi qu'orienté objet sous certains aspects. C'est un langage statiquement typé initialement conçu par Graydon Hoare en 2006 dont le développement est désormais soutenu par Mozilla Research. Ses maîtres mots sont : sécurité, concurrence, rapidité et le doit en partie à son backend LLVM qui offre de nombreux outils destinés à l’optimisation des instructions. La philosophie du langage est de fournir au développeur les outils pour écrire des programmes dont l’intégrité est plus difficilement mise en péril (p. ex. mauvaise gestion de la mémoire, de la fermeture des flux) qu’avec un autre langage qui ne se soucie pas forcément de ses problématiques dans sa conception, tout en s’efforçant d’entretenir une rapidité d’exécution redoutable.

    L'équipe Rust annonce une nouvelle version de Rust, la version 1.31.0 et "Rust 2018". La sortie de Rust 1.31.0 ce 6 décembre est la première parution de "Rust 2018" qui marque l'aboutissement des trois dernières années du développement de Rust. il peut être difficile d'expliquer exactement ce qu'est Rust 2018. Certaines personnes y voient une nouvelle version du langage, mais pas vraiment. Car, cela ne fonctionne pas comme le versioning dans d'autres langues. Dans la plupart des autres langues, lorsqu'une nouvelle version du langage apparaît, toutes les nouvelles fonctionnalités sont ajoutées à cette nouvelle version. Les éditions Rust sont différentes. C'est à cause de la façon dont la langage évolue. Presque toutes les nouvelles fonctionnalités sont compatibles à 100 % avec Rust en l'état. Ils ne nécessitent pas de changements majeur. Cela signifie qu'il n'y a aucune raison de les limiter au code Rust 2018. Les nouvelles versions du compilateur continueront à prendre en charge le « mode Rust 2015 ».

    Nom : rust-icon-702x336.png
Affichages : 3909
Taille : 47,5 Ko

    Deux nouveaux concepts ont été ajoutés. Il s'agit de async et await. Au début, Rust n'avait pas prévu ces concepts. Ils facilitent l'écriture de code asynchrone sans que le code ne devienne trop lourd. Pour permettre d'ajouter cette fonctionnalité, il faut ajouter à la fois async et await comme mots clés. Pour ne pas rendre l'ancien code invalide (un code qui aurait pu utiliser les mots async ou en await en tant que noms de variables), l'équipe a ajouté ces mots-clés dans Rust 2018. Bien que la fonctionnalité ne soit pas encore disponible, les mots-clés sont maintenant réservés. Tous les changements décisifs nécessaires pour les trois prochaines années de développement (comme l’ajout de nouveaux mots-clés) sont effectués en une fois dans Rust 1.31. Ces changements dans Rust 2018 ne signifie pas que votre code va boguer. Votre code continuera à compiler même s’il a async ou en await en tant que nom de variable. Sauf indication contraire de votre part, le compilateur considère que vous souhaitez que votre code soit compilé de la même manière comme auparavant.

    Une fois que Rust 2018 sera disponible, il aura presque le même aspect que Rust 2015. La plupart des modifications se produiront à la fois dans Rust 2018 et dans Rust 2015. Seules les quelques fonctions nécessitant des modifications importantes ne seront pas récupérées. Rust 2018 ne concerne cependant pas que des modifications du langage principale. Rust 2018 vise à rendre les développeurs de Rust plus productifs. Beaucoup de gains de productivité viennent de choses qui ne sont pas dans le langage principale comme l'outillage par exemple. L'équipe en charge du développement s'est également concentrer sur des cas d'utilisation spécifiques pour déterminer comment Rust peut être le langage le plus productif. Vous pouvez donc considérer Rust 2018 comme le spécificateur de Cargo.toml que vous utilisez pour activer les quelques fonctionnalités qui nécessitent des modifications importantes.

    Dans le cadre de Rust 2018, l'équipe de Rust procédera à une refonte complète du site Web de Rust, ce qui en fera un outil utile pour les directeurs techniques et les ingénieurs. Il devrait être beaucoup plus facile de trouver des informations permettant d'évaluer Rust pour votre cas d'utilisation et de rester au courant des dernières améliorations en matière d'outillage et d'écosystème. L'un des objectifs de Rust 2018 consiste à démontrer la productivité de Rust dans des domaines d'utilisation spécifiques. Quatre domaines sont visés :

    • services réseau : la fiabilité et la faible empreinte de Rust en font un excellent partenaire pour les services et l'infrastructure réseau, en particulier à grande échelle ;
    • applications en ligne de commande (CLI) : la portabilité, la fiabilité, l'ergonomie et la capacité de Rust à produire des fichiers binaires statiques sont très utiles pour l'écriture d'applications CLI ;
    • WebAssembly : la norme Web « wasm » permet d'envoyer des fichiers binaires de type natif à tous les principaux navigateurs, mais le support de GC n'est plus que de nombreuses années. Rust est extrêmement bien placé pour cibler ce domaine et fournit une rampe d’accès raisonnable aux programmeurs JS ;
    • appareils embarqués : Rust a le potentiel de rendre la programmation d'appareils aux ressources limitées beaucoup plus productifs et amusants.


    Chacun de ces domaines dispose d’un groupe de travail dédié pour l’année. Ces groupes de travail travailleront de manière transversale, en s’interfaçant avec les travaux relatifs aux langues, aux outils, aux bibliothèques et à la documentation.

    Rappelons toutefois qu'en novembre 2015 Andrei Alexandrescu (un des co créateur du langage D) s’est prononcé sur Rust et nous parle de quelques avantages et inconvénients du langage. Selon lui, Rust est un langage disposant de théoriciens en langage de classe mondiale. Cela dénote de la précision et de la profondeur de l’approche technique de Rust. L’objectif de Mozilla en implémentant ce langage est d’offrir un langage sécurisé, concurrent, et disposant de fonctionnalités essentielles pour réaliser ce que l’on souhaite. Pour Andrei, l’aspect sécurité est un avantage à ne pas omettre dans les atouts de ce langage. Pour pouvoir atteindre la première version stable, l’équipe de Rust a mis environ cinq années en enchaînant préversion sur préversion. Selon Andrei, cela constitue un avantage, car le produit fini est meilleur et comporte moins de bogues. L’effet collatéral est que la communication autour des différentes itérations a été assez forte.

    Selon Andrei, l’équipe de Rust alloue beaucoup d’efforts à la gestion de la mémoire, mais néglige les autres aspects du langage. Pour Andrei, la syntaxe de Rust est peu commune aux autres langages de développement. Cela pourrait être frustrant ou même constituer un frein au cas où certaines personnes n’auraient pas de motivation pour s’investir dans un tel apprentissage.

    Source : Billet de blog

    Et vous ?

    Êtes-vous un développeur Rust ? Que pensez-vous de ces nouveautés annoncées ?

    Voir aussi

    La version stable de Rust 1.29 est désormais disponible ! premier jet de l'auto-correction des lints et potentielle compatibilité avec Clippy

    La rubrique Rust : Cours et tutoriels Rust et la FAQ sur la programmation en langage Rust

    Quel langage pourrait remplacer C ? Après avoir comparé Go, Rust et D, le choix d'Andrei Alexandrescu se porte sur D

    Rust, en bref
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 552
    Points : 15 463
    Points
    15 463
    Par défaut
    Pour essayer de préciser ce qu'est l'édition 2018 de Rust, on peut le voir est comme une nouvelle version majeure du langage Rust dans le sens ou elle introduit de nouveaux mots clés et un mécanismes pour la notation des modules qui incompatibles avec la syntaxe de l'édition 2015. Mais ça n'est pas fait à la sauce Python ou Perl qui ont créé deux version du langage avec des compilateurs séparés, mais plutôt à la mode Java : Le code source de chaque crate (l’équivalent Rust du package) pourra au choix utiliser la syntaxe Rust 2015 ou 2018.

    Toutes les crates, quelles que soit leur édition, pourront être traités par le même compilateur et interagir entre elles sans aucune limitation. Le passage a Rust 2018 est conseillé bien sur vu qu'il simplifie la syntaxe (il y a un outil pour automatiser la transition), mais les crates non migrées continueront à fonctionner de manière transparente.

  3. #3
    Membre expérimenté

    Homme Profil pro
    Retraite
    Inscrit en
    Octobre 2005
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 477
    Points : 1 332
    Points
    1 332
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    je suis heureux d'apprendre que le site de RUST vas être repensé , non en terme d'ergonomie mais dans la mise a dispo des informations et des exemples qui si raccrochent et qui ne sont pas toujours conforme à la doc, je souhaite que des exemples plus concret correspondant à des applicatifs que l'on pourrait écrire par exemple ayant attrait à la gestion d'entreprise ou de communication inter processus , nous montrant comment transposer des fondamentaux comme shm.h (C/C++)zone mémoire inter processus, ou les commandes execv(C/C++) par exemple, peut être suis- à coté de la plaque mais j'ai pas trouvé dans le site ..... Hello word marche bien pour être simpliste mais c'est pas suffisant.
    Là par rapport à C/C++ on est très très loin du compte pour la doc , dommage car ce langage me parait aller de l'avant. Il est vrais que la communauté n'est pas aussi fourni ....

    Merci @bientôt

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par JPLAROCHE Voir le message
    Bonjour,
    je suis heureux d'apprendre que le site de RUST vas être repensé , non en terme d'ergonomie mais dans la mise a dispo des informations et des exemples qui si raccrochent et qui ne sont pas toujours conforme à la doc, je souhaite que des exemples plus concret correspondant à des applicatifs que l'on pourrait écrire par exemple ayant attrait à la gestion d'entreprise ou de communication inter processus , nous montrant comment transposer des fondamentaux comme shm.h (C/C++)zone mémoire inter processus, ou les commandes execv(C/C++) par exemple, peut être suis- à coté de la plaque mais j'ai pas trouvé dans le site ..... Hello word marche bien pour être simpliste mais c'est pas suffisant.
    Là par rapport à C/C++ on est très très loin du compte pour la doc , dommage car ce langage me parait aller de l'avant. Il est vrais que la communauté n'est pas aussi fourni ....

    Merci @bientôt
    Salut
    Concernant la doc, je suis complètement en désaccord avec toi. Rust a des vraies docs officielles, à jour et pédagogiques (notamment le rust book, https://doc.rust-lang.org/stable/boo...roduction.html). Au contraire, le C++ a des normes de 1500 pages incompréhensibles, une référence en ligne assez complète mais peu pédagogique (https://en.cppreference.com/w/), une super-faq assez désorganisée (https://isocpp.org) et des tonnes de blogs qui polluent le net de vieilles pratiques obsolètes.

  5. #5
    Membre expérimenté

    Homme Profil pro
    Retraite
    Inscrit en
    Octobre 2005
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 477
    Points : 1 332
    Points
    1 332
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par SimonDecoline Voir le message
    Salut
    Concernant la doc, je suis complètement en désaccord avec toi. Rust a des vraies docs officielles, à jour et pédagogiques (notamment le rust book, https://doc.rust-lang.org/stable/boo...roduction.html). Au contraire, le C++ a des normes de 1500 pages incompréhensibles, une référence en ligne assez complète mais peu pédagogique (https://en.cppreference.com/w/), une super-faq assez désorganisée (https://isocpp.org) et des tonnes de blogs qui polluent le net de vieilles pratiques obsolètes.
    je n'ai nullement envie de polémiquer avec Toi mais il y a 1 semaines j'ai franchement pris le temps et tester et j'ai eu des problèmes.... j'ai fini par remettre cela a plus tard. c'est mon expérience.
    j'ai suivi la procédure d'install tout a fonctionné , la dernière version , et j'ai pris les exemples en lignes sur la même page énoncé.

    tu es désobligeant regarde il y a une communauté très active qui n'est pas limiter C/C++ https://stackoverflow.com cppreference.com n'est pas là pour être pédagogique , d'autre part le site québecois https://h-deb.clg.qc.ca/ est très pédagogique avec des exemples concrets.
    ou encore en français le Livre "développement système sous Linux" de Christophe Blaes etc... et ne serait-ce que sur développez.net il y a d’excellent courts.
    Ps je suis à la retraite j'ai le temps de tester et ce n'est pas la première fois que je remet mon métier ne serais-ce que pour la veille technologique.

    je ne remet pas en cause RUST. au cas si vous n'aviez pas compris.
    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par JPLAROCHE Voir le message
    je n'ai nullement envie de polémiquer avec Toi
    moi non plus, mais je ne vois pas le rapport. On est sur un forum et j'ai autant le droit de donner mon avis que Toi.

    Citation Envoyé par JPLAROCHE Voir le message
    regarde il y a une communauté très active qui n'est pas limiter C/C++ https://stackoverflow.com
    Rust est présent sur SO également et a en plus un forum officiel où les gens sont sympas, réactifs et compétents (https://users.rust-lang.org/).

    Citation Envoyé par JPLAROCHE Voir le message
    d'autre part le site québecois https://h-deb.clg.qc.ca/ est très pédagogique avec des exemples concrets.
    Désolé mais non, je ne conseillerais pas ce site à quelqu'un qui veut apprendre le C++ : outre l'esthétique des années 90, il faut accéder à 3 pages surchargées avant d'enfin trouver le point "Démarer avec C++", qui renvoie vers la super-faq C++...

    Citation Envoyé par JPLAROCHE Voir le message
    ou encore en français le Livre "développement système sous Linux" de Christophe Blaes etc...
    Non, le livre "développement système sous Linux" n'est pas un bon livre pour apprendre le C++ moderne. Et si c'est pour avoir des exemples, le site de Rust a une section "Rust by Example" ainsi que des livres thématiques "Command Line Book", "WebAssembly Book" et "Embedded Book", le tout disponible en ligne et gratuitement (https://www.rust-lang.org/learn).

    Citation Envoyé par JPLAROCHE Voir le message
    je ne remet pas en cause RUST. au cas si vous n'aviez pas compris.
    Merci
    je ne remet pas en cause C++. au cas si vous n'aviez pas compris.
    Merci

  7. #7
    Membre expérimenté

    Homme Profil pro
    Retraite
    Inscrit en
    Octobre 2005
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 477
    Points : 1 332
    Points
    1 332
    Billets dans le blog
    1
    Par défaut
    moi non plus, mais je ne vois pas le rapport. On est sur un forum et j'ai autant le droit de donner mon avis que Toi.
    bien-sur mais j'ai vraiment l'impression que tu te fâches....


    Désolé mais non, je ne conseillerais pas ce site à quelqu'un qui veut apprendre le C++ : outre l'esthétique des années 90, il faut accéder à 3 pages surchargées avant d'enfin trouver le point "Démarer avec C++", qui renvoie vers la super-faq C++..
    .

    il y a des exemples clair , perso cela ma permis de comprendre les variadiques


    Non, le livre "développement système sous Linux" n'est pas un bon livre pour apprendre le C++ moderne. Et si c'est pour avoir des exemples, le site de Rust a une section "Rust by Example" ainsi que des livres thématiques "Command Line Book", "WebAssembly Book" et "Embedded Book", le tout disponible en ligne et gratuitement (https://www.rust-lang.org/learn).
    cela ma permis de comprendre les mécanismes de msg.h et de shm.h ou des thread .....

    j'ai recharger rust .
    apparemment la version a changé , je vais redescendre mes tests je vais voir....
    je reprend rustc et les options je veux me servir de makefile je compile correctement avec le paramétrage des option RUSTFLAGS ect..... avec des programme de type ET_DYN

    j'ai quand même un probleme en c/c++ on peut compiler avec l'option -no-pie ( ET_EXEC ) qui permet d'avoir un exécutable batch j'ai chercher je n'ai pas trouvé l’équivalence


    ps( j'ai trouve -C link-args=-no-pie ) mais c'était laborieux il a fallu que je plante completement avec -C link-args=static(un argument bidon) pour voir toute les options de compilation de CC

    je n'ai pas trouvé d'explication ci ce n'est de mon experience en ayant la façon dont le compilateur réalise l'executable pourtant j'ai passé un bon nombre d'heure de lecture ..... mais il est vrais ce ne sont pas des paramètres mis en avant dans la doc., pour apprendre ....

    je voudrais transposer une application qui uilise shm msg execv database sqlite et postressql GTK et GTK vetterm . pour voir ..... me faire une vrais idée. J'ai le temps ....

    donc je reprends les cours dans la doc depuis le debut , là je vais attaquer les propriétés , donc je suis en très loin de pouvoir réaliser le projet CLIENT

    merci
    j'avoue que le bascule du c/c++ vers rust est très très déroutant enfin pour moi , je pense qu'il ne faut pas que cherche à faire du c/c++ pour faire du rust.


    autre demande :
    j'aimerais qu'il y ai une vrais faq sur rustc et avec des exemples et moins succin, car je trouve cargo un peu lourd générant des dossiers inutiles pour faire des applications ex gestion d'un fichier d'adresse complet et commercial/livraison /facturation , mais j'avoue ne pas vouloir tout faire en même temps apprendre le langage .... donc je reste sur rustc avec ses paramètres et makefile dont j'ai l'habitude de me servir , ceci dit une faq sur cargo avec des exemples serait le bienvenue, peut-être je demande trop parce certainement vous travaillez et que c'est encore un investissement supplémentaire.

    Merci d'avoir pris le temps de me répondre.

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2002
    Messages
    2 789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 789
    Points : 18 930
    Points
    18 930
    Ne prenez pas la vie au sérieux, vous n'en sortirez pas vivant ...

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/08/2018, 19h15
  2. Réponses: 0
    Dernier message: 20/10/2017, 09h15
  3. Réponses: 1
    Dernier message: 24/10/2016, 09h50

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