URL: https://linuxfr.org/news/le-langage-rust-en-version-1-0-alpha-on-arrete-de-tout-casser Title: Le langage Rust en version 1.0 alpha, on arrĂȘte de tout casser ! Authors: ariasuni olivierweb, bubarđŸŠ„, reno, BAud, patrick_g, palm123, NĂżco, Bruno Michel et Nicolas Boulay Date: 2015ćčŽ01月10æ—„T13:23:53+01:00 License: CC By-SA Tags: rust, programmation et mozilla Score: 44 Rust est un langage de programmation conçu pour rĂ©pondre aux problĂ©matiques modernes des gros logiciels clients et serveurs utilisant Internet, en particulier la sĂ©curitĂ©, le contrĂŽle de la mĂ©moire et la parallĂ©lisation. Comme le rappelle [la rĂ©trospective 2014](https://linuxfr.org/news/linuxfr-org-retrospective-des-depeches-et-journaux-2014), Rust est un sujet qui a Ă©tĂ© beaucoup traitĂ© l’annĂ©e prĂ©cĂ©dente. N’oublions pas non plus l’[expĂ©rimentation avec Rust et ibus](https://linuxfr.org/news/bref-j-ai-cree-une-bibliotheque-rust-et-un-moteur-ibus-et-je-cherche-comment-les-empaqueter) qui a fait l’objet d’une dĂ©pĂȘche en octobre dernier. Avec un peu de retard par rapport au communiquĂ© lors de la [sortie de la version 0.12](https://linuxfr.org/news/rust-0-12-non-pas-le-jeu-video-le-langage), mais comme annoncĂ© le [12 dĂ©cembre](http://blog.rust-lang.org/2015/01/09/Rust-1.0-alpha.html), c'est prĂšs de 3 ans aprĂšs la [version 0.1](https://linuxfr.org/news/sortie-de-la-version-0-1-de-rust) que l'Ă©quipe de Rust publie la version alpha de la version 1.0 du langage ce [9 janvier](http://blog.rust-lang.org/2015/01/09/Rust-1.0-alpha.html). ---- [L'annonce de la version 1.0 alpha](http://blog.rust-lang.org/2015/01/09/Rust-1.0-alpha.html) ---- Ça y est, Rust 1.0 alpha est sorti ! Cela signifie que le langage et les bibliothĂšques ne recevront plus de changements majeurs. Selon le tableau de bord de [stabilitĂ© du projet](http://doc.rust-lang.org/std/stability.html), la bibliothĂšque standard a dĂ©sormais 44% de code marquĂ© stable (c’est-Ă -dire dont l’API ne changera pas) et 52% non stable (2% non marquĂ©). Cela montre une trĂšs grande progression par rapport Ă  la derniĂšre version d'octobre 2014 oĂč le code stable reprĂ©sentait seulement 2%, le non stable 12% et 77% pour l'expĂ©rimentale, le reste Ă©tant dĂ©prĂ©ciĂ© ou non marquĂ©. # Principaux changements Il y a plus de 2400 modifications, incluant les corrections de bogues, dans cette version alpha, l'ensemble des changements est fourni dans [les notes de version](https://github.com/rust-lang/rust/blob/master/RELEASES.md). Le travail a portĂ© principalement sur deux modules : gestion des chemins de fichiers et entrĂ©es-sorties. Plusieurs fonctionnalitĂ©s ont Ă©tĂ© implĂ©mentĂ©es dans le langage et la bibliothĂšque standard. Dans le langage ont Ă©tĂ© ajoutĂ©s la gestion des types de taille dynamique : les « multidispatch traits ». Les conventions de codage ont Ă©tĂ© appliquĂ©es dans la bibliothĂšque standard. Les types Ă  taille dynamique (DSTs pour _Dynamically-sized types_) sont des types dont la taille est fixe mais inconnue Ă  la compilation. Ils souffraient de grosses limitations dans les prĂ©cĂ©dentes versions de Rust, ils sont maintenant largement intĂ©grĂ©s dans le langage. Les types `int` et `uint` (les Ă©quivalents Rust de `intptr_t` et `uintptr_t` en C++) ont Ă©tĂ© dĂ©clarĂ©s obsolĂštes en faveur des nouveaux types `isize` et `usize`. Ce renommage a Ă©tĂ© fait dans le but d’encourager l’utilisation des types Ă  taille fixe (actuellement `i8`, `i16`, `i32` et `i64`) pour assurer un fonctionnement cohĂ©rent entre diffĂ©rentes plateformes et prendre moins de mĂ©moire. Les noms `int` et `uint` pouvaient faire croire Ă  ceux venant du C/C++ qu'il s'agissait des types "par dĂ©faut" de Rust.Ce n'est pas le cas: `i32` est le type par dĂ©faut pour les entiers (`f64` pour les flottants), tandisque `int` et `uint` seront totalement supprimĂ©s d’ici la bĂȘta. [Plus d’infos](http://discuss.rust-lang.org/t/a-tale-of-twos-complement/1062) Une clause `where` a Ă©tĂ© ajoutĂ©e pour faciliter la dĂ©claration des contraintes de type lors de la dĂ©claration de traits. Pour le dĂ©veloppeur, le changement le plus visible est : ```rust impl HashMap { [...] } // qui devient impl HashMap where K : Hash + Eq { [...] } ``` Cela a Ă©galement permis la suppression de plusieurs traits de la bibliothĂšque standard, ainsi que quelques autres simplifications bienvenues. Le systĂšme de macro a Ă©tĂ© largement amĂ©liorĂ© pour le prĂ©parer Ă  la sortie de la 1.0. C’est un travail de nettoyage, d’arrondissage des angles, d’amĂ©lioration de la syntaxe et de modifications de quelques comportements problĂ©matiques. La documentation a bĂ©nĂ©ficiĂ© des efforts portĂ©s : elle traite une plus grande partie de l'API, avec plus d'exemples et plus d'explications. Les diffĂ©rents guides ont Ă©tĂ© rassemblĂ©s dans [le livre](http://doc.rust-lang.org/book/index.html). Le site [Rust by Example](http://rustbyexample.com/) est dĂ©sormais maintenu par l'Ă©quipe Rust. # Des chiffres ! ## Projets utilisant Rust OpenHub tient des statistiques sur l'utilisation de Rust dans les projets qu'il recense, comme pour tout autre langage. On peut ainsi voir que le nombre de personnes qui modifient du code Rust est relativement faible, mais augmente (de 165 projets pour la version [0.12](https://linuxfr.org/news/rust-0-12-non-pas-le-jeu-video-le-langage#des-chiffres) Ă  177 dans les projets recensĂ©s et 1 025 090 lignes de code). Par ailleurs, le nombre de projets recensĂ©s sur GitHub passe de 3262, lors de la sortie de la 0.12, Ă  [4892](https://github.com/search?q=language%3Arust&type=Repositories). # ÉvĂšnements De [nombreux Ă©vĂšnements](https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com) sont organisĂ©s autour de Rust. La rencontre parisienne, rĂ©guliĂšre, se tient tous les 3^Ăš lundis du mois dans les locaux de Mozilla. Des rencontres ont aussi eu lieu Ă  Lisbonne (16 octobre), Milan (11 novembre), San Francisco (6 novembre et 18 dĂ©cembre), Seattle (13 octobre, 10 novembre, 8 dĂ©cembre et 12 janvier). # Liens ## ''This week in Rust'' Si vous voulez suivre le mouvement de tout ce qui se passe Ă  propos de Rust sans avoir Ă  lire le dĂ©tail des [commits](https://github.com/rust-lang/rust/commits/master), des annonces sur la [liste de diffusion](https://mail.mozilla.org/pipermail/rust-dev/), de [Reddit](http://www.reddit.com/r/rust) ou de [Twitter](https://twitter.com/search?q=%23Rustlang&src=hash), le blog [This Week in Rust](http://this-week-in-rust.org/categories.html#This-Week-in-Rust-ref) fait une synthĂšse hebdomadaire des nouveautĂ©s et actualitĂ©s autour de Rust : - n°56 [10 novembre 2014](http://this-week-in-rust.org/blog/2014/11/10/this-week-in-rust-56/) - n°57 [17 novembre 2014](http://this-week-in-rust.org/blog/2014/11/17/this-week-in-rust-57/) - n°58 [24 novembre 2014](http://this-week-in-rust.org/blog/2014/11/24/this-week-in-rust-58/) - n°59 [1er dĂ©cembre 2014](http://this-week-in-rust.org/blog/2014/12/01/this-week-in-rust-59/) - n°60 [8 dĂ©cembre 2014](http://this-week-in-rust.org/blog/2014/12/08/this-week-in-rust-60/) - n°61 [15 dĂ©cembre 2014](http://this-week-in-rust.org/blog/2014/12/15/this-week-in-rust-61/) - n°62 [22 dĂ©cembre 2014](http://this-week-in-rust.org/blog/2014/12/22/this-week-in-rust-62/) - n°63 [29 dĂ©cembre 2014](http://this-week-in-rust.org/blog/2014/12/29/this-week-in-rust-63/) - n°64 [5 janvier 2015](http://this-week-in-rust.org/blog/2015/01/05/this-week-in-rust-64/) - n°65 [12 janvier 2015](http://this-week-in-rust.org/blog/2015/01/12/this-week-in-rust-65/) ## Notes de version Contrairement aux prĂ©cĂ©dentes versions, le fichier [RELEASES.md](https://github.com/rust-lang/rust/blob/master/RELEASES.md) contient directement toutes les informations dĂ©taillĂ©es sur cette version. # Conclusion Les exĂ©cutables d'[installation](http://www.rust-lang.org/install.html) sont disponibles pour les systĂšmes Linux, Windows, Mac OS X et le code source reste disponible sur GitHub. À noter que l'Ă©quipe de dĂ©veloppement de Rust recommande d'utiliser les compilations quotidiennes (''nightly builds'') afin de profiter de tous les changements qui se produiront pendant la phase alpha. La premiĂšre sortie BĂȘta est prĂ©vue pour la semaine du 16 fĂ©vrier 2015, elle comprendra une réécriture de la bibliothĂšque `std::io`.

AltStyle ă«ă‚ˆăŁăŠć€‰æ›ă•ă‚ŒăŸăƒšăƒŒă‚ž (->ă‚ȘăƒȘă‚žăƒŠăƒ«) /