Rust atteindra bientôt sa version 1.0
Mozilla dévoile la feuille de route de son langage de programmation multi-paradigme

Le , par Hinault Romaric

0PARTAGES

1  0 
Le langage de programmation Rust développé par Mozilla atteindra bientôt sa première version stable.

Niko Matsakis, un développeur de chez Mozilla, a annoncé dans un billet de blog que la version bêta de Rust 1.0 sera publiée avant la fin de cette année, et si tout se passe bien, la version stable ne devrait pas tarder. Les fonctionnalités de langage auraient déjà été gelées et la fondation travaille activement sur leur mise en œuvre.

Pour rappel, Rust est un langage de programmation compilé, multi-paradigme (orienté objet, fonctionnel et procédural) qui tire parti des langages fonctionnels comme Haskell et ML, du langage orienté objet C++ et bien plus.

Le but de Mozilla est de « concevoir et implémenter un langage orienté objet statique, typé, sûr, concurrentiel et efficace ». À terme, le langage devrait, selon Mozilla, fournir la sécurité et la commodité des langages modernes, tout en maintenant l’efficacité et le contrôle de bas niveau des langages C et C++.

Le langage de programmation est donc vu comme une alternative à C/C++, qui s’inspire des éléments qui ont fait leur succès, mais qui offre en plus une meilleure sécurité. « En gros, si vous voulez vous salir les mains avec le métal nu de la machine, sans avoir à passer des heures à traquer des erreurs de segmentation et des fuites de données, alors Rust est fait pour vous », explique Niko Matsakis

Rust avait démarré comme un projet personnel développé par Graydon Hoare en 2006. La première version Alpha de son compilateur avait été publiée en janvier 2012. La sortie d’une version 1.0 signifie qu’il n y aura plus de modification pouvant briser la rétrocompatibilité. Ainsi, les projets existants devraient continuer à compiler, sans modification, dans les futures versions 1.x.

Au moment de la sortie de Rust 1.0, Mozilla publiera également la version stable de Cargo le gestionnaire de package pour le langage de programmation. Cargo est écrit en Rust et simplifiera la création et la distribution des bibliothèques Rust par les développeurs.

Après cette étape, un nouveau cycle de développement sera adopté pour le langage, inspiré du système de canaux utilisé pour Firefox, Chrome ou encore Ember.js. Ainsi, les évolutions de la plateforme pourront être suivies au travers des canaux Nightly, Beta et Stable, qui seront mis à jour toutes les six semaines.

Il faut noter que Rust a déjà été utilisé pour développer Servo, le nouveau moteur de rendu Web sécurisé de la fondation Mozilla.

Source : Site du projet

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

Avatar de Hinault Romaric
Responsable .NET https://www.developpez.com
Le 26/12/2014 à 13:40
Rust 1.0 sera disponible en version stable au printemps 2015
Mozilla publiera la version Alpha de son langage de programmation multiparadigme le 9 janvier 2015

Mozilla a dévoilé des détails sur la feuille de route de son nouveau langage de programmation Rust, dans un billet de blog de celui-ci.

Celle-ci prévoit l’adoption d’un cycle de publication des préversions toutes les six semaines à partir du 9 janvier 2015, jusqu’à la sortie de la version stable Rust 1.0. Ainsi, on aura :

  • la sortie de Rust 1.0.0 Apha le vendredi 9 janvier 2015 ;
  • la publication de Rust 1.0.0 bêta 1 la semaine du 16 février 2015 ;
  • la disponibilité de Rust 1.0.0, après un ou plusieurs cycles de six semaines plus tard.


Suivant ce calendrier, les développeurs pourront avoir à leur disposition la première version stable de Rust au cours du printemps 2015.

La publication de la version Alpha marquera le gel des fonctionnalités du langage. La bibliothèque standard sera presque complète en termes de fonctionnalités et la majorité des API qui seront disponibles avec la version stable de Rust 1.0 sera marquée comme « #[stable] ». Les API instables porteront l’étiquette « #[unstable] » et pourront de ce fait faire l’objet de commentaires de la part de la communauté afin de traiter et stabiliser celles-ci.

Rust 1.0 Alpha donnera une image assez précise de ce que ressemblera la version stable. Attention cependant à vouloir l’utiliser dans un environnement de production. Il s’agit d’une préversion, et même si les modifications à venir seront mineures, elles pourront, cependant, briser la compatibilité.




À la sortie de la bêta, toutes les API seront marquées comme stable et les fonctionnalités de la bibliothèque standard seront complètes. Cette étape sera principalement axée sur les tests, les corrections de bogues et les finitions.

Pour rappel, Rust est un langage de programmation compilé, multiparadigme (orienté objet, fonctionnel et procédural) qui tire parti des langages fonctionnels comme Haskell et ML, du langage orienté objet C++ et bien plus.

Le but de Mozilla est de « concevoir et implémenter un langage orienté objet statique, typé, sûr, concurrentiel et efficace ». À terme, le langage devrait, selon Mozilla, fournir la sécurité et la commodité des langages modernes, tout en maintenant l’efficacité et le contrôle de bas niveau des langages C et C++.

Rust avait démarré comme un projet personnel développé par Graydon Hoare en 2006. La première préversion de son compilateur avait été publiée en janvier 2012. La sortie d’une version 1.0 signifie qu’il n’y aura plus de modifications pouvant briser la rétrocompatibilité. Ainsi, les projets existants devraient continuer à compiler, sans modifications, dans les futures versions 1.x.

Source : Mozilla
Avatar de imperio
Membre chevronné https://www.developpez.com
Le 06/01/2015 à 9:38
Enfin ! Bientôt fini les breaking changes à répétitions ! Les choses vont sacrément se simplifier pour ceux qui ont des projets écrits en Rust.
Avatar de Hinault Romaric
Responsable .NET https://www.developpez.com
Le 12/01/2015 à 21:14
Rust 1.0 disponible en version Alpha
le langage de programmation multiparadigme de Mozilla se rapproche de sa première version stable

Conformément à la feuille de route publiée le mois dernier, les développeurs de Rust ont publié la version Alpha de Rust 1.0.

Cette sortie marque le gel des fonctionnalités du langage. La bibliothèque standard est presque complète en termes de fonctionnalités et la majorité des API qui seront disponibles avec la version stable de Rust 1.0 ont été marquées comme « #[stable] ». Les API instables portent l’étiquette « #[unstable] » et peuvent de ce fait faire l’objet de commentaires de la part de la communauté afin de traiter et stabiliser celles-ci

Rust 1.0 Alpha donne une image assez précise de ce que ressemblera la version stable. Attention cependant à vouloir l’utiliser dans un environnement de production. Il s’agit d’une préversion, et même si les modifications à venir seront mineures, elles pourront, cependant, briser la compatibilité.

Par rapport à la dernière préversion de Rust, cette version Alpha apporte un lot de changements et de nouveautés au langage, ainsi qu’a la bibliothèque de base.

En ce qui concerne le langage, on va noter :

  • un meilleur support des DSTs (Dynamically-sized types). Les DSTs permettent de définir des types dont la taille n’est connue que lors de l’exécution ;
  • le support complet des Multidispatch traits. Cette caractéristique a ouvert la porte à de nombreuses API intéressantes ;
  • l’intégration des Associated types. Désormais, les « Traits » peuvent avoir des types « associés », ce qui permet de réduire le niveau de détails des génériques et des types « inférence » ;
  • des révisions du système de Macros. Bien que ce système souffre encore de quelques manquements, il représente une fonctionnalité importante et puissante qu’offrira la programmation Rust dans la version 1.0 ;
  • l’adoption des types pour les nombres entiers. Le long débat sur les types des nombres entiers a finalement trouvé une issue. « int » et « uint » sont désormais connus comme « isize » et « usize » ;





En ce qui concerne la bibliothèque du langage, on va noter l’approbation d’un grand nombre de conventions RFC, la mise en œuvre d’une série de RFC pour réorganiser et stabiliser les collections et des révisions des modules de concurrence de Rust, y compris le stockage local des threads et des primitives de synchronisation. Le système d’exécution de Rust et son modèle « green-threading » ont été entièrement supprimés.

Tous les types primitifs et les blocs de construction de base (comme char, String, Vec, Box, Arc, RefCell, etc.) sont désormais étiquetés comme stable « #[stable] ».

Les développeurs de Mozilla invitent la communauté à apporter leur aide pour itérer sur les bibliothèques et API stables avant la sortie de la version bêta du langage de programmation. Pendant ce cycle, il est recommandé d’utiliser les versions disponibles sur le canal nightly, qui continuera à évoluer au fur et à mesure que les API prennent leur forme définitive.

La première bêta de Rust devrait être disponible la semaine du 16 février 2015. Toutes les API seront marquées comme stable et les fonctionnalités de la bibliothèque standard seront complètes. Cette étape sera principalement axée sur les tests, les corrections de bogues et les finitions.

Source : Blog Rust
Avatar de gstratege
Membre habitué https://www.developpez.com
Le 19/01/2015 à 10:30
Selon vous, pourquoi Mozilla a besoin de ce nouveau OS ?
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 19/01/2015 à 10:34
Citation Envoyé par gstratege Voir le message
Selon vous, pourquoi Mozilla a besoin de ce nouveau OS ?
C'est un langage de programmation, pas un OS...
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 19/01/2015 à 22:54
Citation Envoyé par gstratege Voir le message
Selon vous, pourquoi Mozilla a besoin de ce nouveau OS ?
Comme le dit tomlev, c'est un langage de programmation, pas un OS. Si Mozilla a vu un intérêt à développer ce langage, c'est qu'il espère qu'il permettra à terme de remplacer le C++ dans Firefox.

En effet, Rust a sur le papier pas mal d’avantages par rapport au C++, qui le rendent particulièrement intéressant pour un moteur web. Il est notamment bien plus armé niveau sécurité et moins sujet aux risques de leaks de mémoire. Tout cela en gardant des performances similaires à C++ car contrairement a la plupart des langage avec une gestion de mémoire sécurisée, il n'a pas se GC intégrée au langage(Java, C#, Go, ...) ni de typage dynamique (Javascript, Phyton, ...).

Actuellement la R&D de Mozilla travaille sur un nouveau moteur web expérimental nommé Servo écrit en Rust, et commence à envisager d’inclure des portions de code en Rust dans Firefox.
Avatar de imperio
Membre chevronné https://www.developpez.com
Le 20/01/2015 à 9:36
@Uther: Je ne pense pas que ce sera pour tout de suite qu'ils réécriront firefox en Rust. Peut-être dans les années à venir, mais ça serait étonnant qu'il le fasse aussi vite.

Tu parles de ce servo ?
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 20/01/2015 à 10:58
Citation Envoyé par imperio Voir le message
@Uther: Je ne pense pas que ce sera pour tout de suite qu'ils réécriront firefox en Rust. Peut-être dans les années à venir, mais ça serait étonnant qu'il le fasse aussi vite.
C'est bien pour ça que j'ai précisé "à terme" et que ce n'est que de la R&D pour le moment.

La réécriture complète de Firefox n'est bien évidement pas encore a l'ordre du jour. Ils ont quand même commencé à étudier comment intégrer des modules écrits en Rust à Firefox, en commençant par des portions non critiques comme le support du bmp.

Citation Envoyé par imperio Voir le message
Tu parles de ce servo ?
En effet.
Avatar de gstratege
Membre habitué https://www.developpez.com
Le 22/01/2015 à 16:35
Oui en fait je suis un peu loin dans ma réflexion, c'est bien un langage et non pas un OS, mais je pensais que ce langage était créer pour créer un OS car quand je lit la définition, il disent :
"Rust is a systems programming language"
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 23/01/2015 à 2:05
Rust est en effet comme le C ou le C++, ce qu'on peut appeler un langage de programmation système.
Cela signifie qu'il a des capacités bas niveau qui lui permettent entre autre de programmer des OS, drivers, ou même des programmes minimaux(pour des micro-hardware sans OS). Il y a actuellement plusieurs POC d'OS minimaux en Rust, mais rien avec de grosses ambitions pour le moment.

Cependant les langage systèmes ne servent pas qu'a ça. Leur accès au bas niveau les rend également très efficace dans tous les programmes qui nécessitent de bonne performance brutes comme de l’encodage vidéo, des jeux-vidéo ou un navigateur. Et c'est bien parce que c'est un outil prometteur pour un navigateur que Mozilla s'est intéressé a Rust.
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web