Rust 0.2 disponible : la nouvelle version du langage de Mozilla supporte FreeBSD
Et apporte de nouvelles fonctions

Le , par Hinault Romaric, Responsable .NET
Mise à jour du 18/04/2012

Juste quelques mois après la publication de la version 0.1 de Rust et de ses premiers outils de développement, Mozilla fait encore évoluer son langage de programmation.

La communauté en charge du développement de Rust vient d’annoncer la publication de la version 0.2 et de son compilateur qui intègre plus de 1500 changements.

Avec cette version, Mozilla met à la disposition des développeurs un nouveau port des outils de Rust pour les systèmes FreeBSD 64 bits.

Cette mise à jour apporte des améliorations de performances pour le compilateur, la transmission de messages et introduit un ordonnanceur explicite. Les fonctions C-callback, les boucles infinies et les caractéristiques expérimentales comme les classes, les surcharges des opérateurs et les pointeurs ont subi également quelques modifications.

Pour rappel, Rust met beaucoup l’accent sur la sécurité par rapport à la performance. L'objectif de Mozilla est de "concevoir et implémenter un langage orienté objet statique, typé, sûr, concurrentiel et efficace".

Rust 0.2 est considéré comme une version Alpha et vise principalement les early adopters. Il est disponible sous une licence open source MIT pour Linux, Windows, Mac OSX et FreeBSD.

Télécharger RUST 0.2


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Uther Uther - Expert éminent https://www.developpez.com
le 18/04/2012 à 13:59
Citation Envoyé par Hinault Romaric
Pour rappel, Rust met beaucoup l’accent sur la sécurité par rapport à la performance. L'objectif de Mozilla est de "concevoir et implémenter un langage orienté objet statique, typé, sûr, concurrentiel et efficace".
L'objectif de Rust n'est pas de sacrifier les performance à la sécurité. Les accès bas niveau sont permis, ils sont juste encadrés pour pousser à les utiliser avec prudence.

Rust n'est pas un langage principalement orienté objet, je dirais même que son support de l'objet est assez limité pour l'instant, il serait plus juste de dire qu'il est multi-paradigme.
Comme le dit son site officiel :
It supports a mixture of imperative procedural, concurrent actor, object-oriented and pure functional styles. Rust also supports generic programming and metaprogramming, in both static and dynamic styles.
Avatar de Hinault Romaric Hinault Romaric - Responsable .NET https://www.developpez.com
le 13/07/2012 à 17:31
Rust 0.3 disponible : le langage de Mozilla dérivé du C/C++
gagne en maturité avec 1900 changements

Mise à jour du 13/07/2012

Rust le langage de développement de la fondation Mozilla évolue rapidement et atteint sa version 0.3.

Pour rappel, Rust a été développé comme une alternative aux langages C et C++, et reprend une grande partie de la syntaxe de ceux-ci, avec un point d’honneur accordé à la sécurité par rapport à la performance. L'objectif de Mozilla est de "concevoir et implémenter un langage orienté objet statique, typé, sûr, concurrentiel et efficace".

La version 0.3 de Rust apporte 1900 changements par rapport à la version 0.2 qui avait été publiée en avril dernier, dont un nettoyage sémantique du langage, l’amélioration de l’expérience utilisateur lors du codage, de nouvelles caractéristiques linguistiques encore en phase expérimentale et la suppression de certaines fonctions obsolètes.

Le nombre de types supporté par le langage évolue avec des nouvelles fonctions de temps. Rust dispose désormais des extensions de syntaxe pour la création des chaines à partir des expressions, et est même capable d’utiliser le contenu d’un fichier comme une expression Rust.

De nouvelles fonctionnalités expérimentales dont le support de nouveaux types de vecteurs ont été ajoutées. La prise en charge du shebang (#! - Indicateur en entête d’un fichier sous Unix, pour spécifier au système que ce fichier est un script, tout en fournissant le nom de l'interpréteur) permet désormais de définir des scripts Rust.

Rust 0.3 offre également un contrôle plus granulaire sur les avertissements et les erreurs générées par le compilateur.

Rust 0.3 est considéré comme une version Alpha et vise principalement les early adopters. Il est disponible sous une licence open source MIT pour Linux, Windows, Mac OSX et FreeBSD. Rust a été utilisé par Mozilla pour développer le moteur de rendu expérimental pour navigateur Servo.

Télécharger Rust 0.3

Source : Notes de version
Avatar de xetqL xetqL - Membre du Club https://www.developpez.com
le 13/07/2012 à 18:49
Encore un langage qui vient s'ajouter à la panoplie que l'on possède déjà ...
Je n'ai pas tous lu, mais qu'apporte-t-il de plus ?
Certes j'y vois une synthèse de plusieurs langage (on peut distinguer une philosophie plus Python, une syntaxe C...) mais est-il vraiment plus approprié d'utiliser un langage comme celui ci ? J'en doute..

Wait & see ...
Avatar de Uther Uther - Expert éminent https://www.developpez.com
le 13/07/2012 à 20:03
Tu auras la réponse a la plupart de tes question là:
- https://github.com/mozilla/rust/wiki...oc-project-FAQ
- https://github.com/mozilla/rust/wiki...c-language-FAQ

C'est difficile de donner un avis définitif sur le langage alors que la syntaxe et les fonctionnalités de base continuent d'évoluer lourdement.
Le langage me semble avoir un réel intérêt. Il me semble clairement plus tourné vers la sécurité que le D ou le Go, et plus vers les performances que l'ADA.
Avatar de abriotde abriotde - Membre éprouvé https://www.developpez.com
le 13/07/2012 à 21:27
Il est vrai qu'entre le Google Go et le Rust les différences me semblent mineures. Cependant il est certain que l'on a besoin d'un langage plus puissant et souple que le C/C++ (Plus rapide à compiler et interpréter aussi).

Pour moi le Go est meilleurs parce que Google à son habitude cherche l'hyper-optimisation. Or c'est là-dessus qu'on l'attend. La langage de la souplesse moderne est certainement un Python.
Avatar de codeallergy codeallergy - Futur Membre du Club https://www.developpez.com
le 14/07/2012 à 20:53
Citation Envoyé par Uther Voir le message
Tu auras la réponse a la plupart de tes question là:
- https://github.com/mozilla/rust/wiki...oc-project-FAQ
- https://github.com/mozilla/rust/wiki...c-language-FAQ

C'est difficile de donner un avis définitif sur le langage alors que la syntaxe et les fonctionnalités de base continuent d'évoluer lourdement.
Le langage me semble avoir un réel intérêt. Il me semble clairement plus tourné vers la sécurité que le D ou le Go, et plus vers les performances que l'ADA.
Ada (et non ADA) a rien a envier au C ou Fortran.
Avatar de gangsoleil gangsoleil - Modérateur https://www.developpez.com
le 16/07/2012 à 16:18
J'ai l'impression que ce qu'ils veulent faire, c'est du C (ou du C++) pour les nuls

C'est a dire que tu as de la gestion memoire, mais on verifie le truc parce que vraiment les dev ils font n'importe quoi. Et puis pareil avec le reste.

M'est avis que c'est trop bas niveau pour le dev haut-niveau, et pas assez permissif pour le dev bas-niveau. Donc que ca restera un langage de plus dans la mer des langages tres peu utilises.
Avatar de Firwen Firwen - Membre expérimenté https://www.developpez.com
le 16/07/2012 à 17:33
J'ai l'impression que ce qu'ils veulent faire, c'est du C (ou du C++) pour les nuls

C'est a dire que tu as de la gestion memoire, mais on verifie le truc parce que vraiment les dev ils font n'importe quoi. Et puis pareil avec le reste.

M'est avis que c'est trop bas niveau pour le dev haut-niveau, et pas assez permissif pour le dev bas-niveau. Donc que ca restera un langage de plus dans la mer des langages tres peu utilises.
Pas vraiment, non.
La syntaxe est basé sur OCaml, c'est à dire un des langages les plus concis qui existe et des plus haut niveau qui existe ( le ML pour "meta-langage" n'est pas là pour décorer ).
OCaml comme Rust propose l'heritage structurel, le pattern matching, l'inférence des types et une VRAI généricité qui sont des fonctionnalités de très haut niveau.

Je pense au contraire qu'ils essaient de faire du Ocaml avec un typage un peu moins nazi / un peu plus permissif : le support du polymorphisme et la surcharge vont dans ce sens.
Et au passage avec une VRAI gestion de la programmation concurrente ( ce qui est le talon d’Achille d'OCaml ).

Il y a de forte chance qu'il y ait un marché pour ce langage ou un langage du même type, des tas de projets d'envergure ont besoin d'un langage compilé qui fournit une approche pragmatique entre sécurité et performance.
Avatar de Uther Uther - Expert éminent https://www.developpez.com
le 16/07/2012 à 18:36
Citation Envoyé par gangsoleil Voir le message
J'ai l'impression que ce qu'ils veulent faire, c'est du C (ou du C++) pour les nuls

C'est a dire que tu as de la gestion memoire, mais on verifie le truc parce que vraiment les dev ils font n'importe quoi. Et puis pareil avec le reste.
En effet les développeur C et C++ font n'importe quoi car ces langages font qu'il est très facile de faire des bêtises sans s'en rendre compte.
Et même les meilleurs peuvent se faire avoir.

Citation Envoyé par gangsoleil Voir le message
M'est avis que c'est trop bas niveau pour le dev haut-niveau, et pas assez permissif pour le dev bas-niveau. Donc que ca restera un langage de plus dans la mer des langages tres peu utilises.
J'ai du mal à voir en quoi le langage serait pas assez permissif. A priori, tout est réalisable avec seulement la contrainte de devoir utiliser des blocs "unsafe" si on veut briser les contrôles de sécurité en connaissance de cause.

Citation Envoyé par Firwen Voir le message
Pas vraiment, non.
La syntaxe est basé sur OCaml, c'est à dire un des langages les plus concis qui existe et des plus haut niveau qui existe ( le ML pour "meta-langage" n'est pas là pour décorer ).
OCaml comme Rust propose l'heritage structurel, le pattern matching, l'inférence des types et une VRAI généricité qui sont des fonctionnalités de très haut niveau.
Je dirais que Rust comme C++ est à la fois de haut et bas niveau car il offre clairement les fonctionnalités que tu as cités mais permet un accès direct au ressources du systèmes et reste orienté performances.
Avatar de _skip _skip - Expert éminent https://www.developpez.com
le 16/07/2012 à 19:18
Laisser le pilote automatique s'occuper des trucs généraux et garder la possibilité de prendre le contrôle manuel lorsque les performances doivent vraiment primer sur le reste.

Je trouve que ça correspond bien à la phrase qui dit que bien souvent, seul un faible pourcentage du code est réellement significatif pour les performances alors que le reste (GUI, configuration) tend à privilégier la sécurité et la lisibilité du code.

Si on compte qu'utiliser du code C dans un programme .Net, python ou Java a souvent quelques inconvénients, notamment de conversion de type, ne serait-il pas super d'avoir tout en un et même langage?
Contacter le responsable de la rubrique Accueil