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 �.
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
Partager