Rust passe à la version 0.7 avec plus de 2 000 changements
Le langage dérivé du C/C++ de Mozilla gagne en maturité et s'approche de la version stable

Les rubriques (actu, forums, tutos) de Développez
Tags
Réseaux sociaux


 Discussion forum

Retrouvez le dossier complet de la rédaction
Sur le même sujet
Le , par Hinault Romaric, Responsable Actualités
Rust, le langage de programmation de la fondation Mozilla, suit son évolution et atteindra bientôt la version stable 1.0.

Pour rappel, Rust a été développé comme une alternative aux langages C et C++. Il 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 ».

Rust a été développé à la base comme un projet autonome par Graydon Hoare, de la fondation Mozilla, en 2006. Le langage a été dévoilé publiquement en 2010 et est sorti en version 1.0 pour les « early adopters » en janvier 2012.

Depuis cette date, Rust a gagné en maturité et fonctionnalités, et est désormais utilisé pour le développement de Servo, le prochain moteur de rendu Web de la fondation Mozilla. Il bénéficie également du soutien de Samsung.




Avec la version 0.7, Rust devient plus stable et moins volatile. Les modifications permettant des ruptures avec la version précédente ne sont pas nombreuses. Mozilla a continué à affiner son langage en apportant plus de 2 000 modifications à celui-ci.

Parmi les modifications, on va noter la suppression du mot clé « copy » en faveur de « clone ». La transition vers l’utilisation des nouveaux types d’itérateurs continue. Le passage complet vers les nouveaux types d’itérateurs va permettre de gagner en souplesse et en nouveautés.

Le système expérimental rustpkg bénéficie de quelques améliorations, notamment l’utilisation d’une URL comme ID de package pour designer des packages locaux ou distants, la possibilité de télécharger des packages directement à partir de GitHub, le « versioning » explicite, etc. Les types numériques gagnent également en maturité.

La bibliothèque centrale a été renommée en « std » avec cette version. De nouveaux modes permettent d’identifier les variables inutilisées, les blocs dangereux et inutiles, des variables non lues, etc.

Rust 0.7 est disponible sous une licence open source MIT ou Apache 2 pour Linux, Windows, OS X et FreeBSD. Elle est principalement à destination des early adopters et ne devrait pas être utilisée en environnement de production.

Télécharger Rust 0.7

Source : Notes de version


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


 Poster une réponse

Avatar de Stéphane le calme Stéphane le calme
http://www.developpez.com
Chroniqueur Actualités
le 29/09/2013 6:15
Rust 0.8 disponible en téléchargement,
l'alternative au C/C++ revient avec environ 2 200 changements

Rust est un langage structuré en blocs avec un accent particulier mis sur la sécurité et la performance. Visuellement, il ressemble à un langage de la famille du langage C mais diffère de manière significative dans les détails syntaxiques et la sémantique. Ceci vient certainement du fait qu'il a été développé comme alternative au C/C++.

La communauté Rust, de concert avec la fondation Mozilla, annonce l'arrivée de la version 0.8 du langage ainsi qu'une mise à jour de ses outils et de son compilateur.

La version 0.8 apporte près de 2 200 modifications au langage parmi lesquelles un changement dans la syntaxe de la boucle « for » qui introduit désormais les objets dans les itérations.

Une nouvelle macro est aussi apportée aux chaînes de caractères ; « format! » ambitionne de remplacer « fmt! » pour plusieurs raisons, notamment un gain de performance. Ce changement signifierait aussi que les macros basées sur « fmt! » migreront vers « format! » rapidement.

Le runtime de Rust précédemment écrit en C++ a été réécrit en Rust afin de faciliter un nouveau sous-système E/S qui intègre les boucles d'événements E/S qui ne feront pas planter le planificateur de tâches. Le système est temporairement situé dans « std::rt::io ».

Rust 0.8 est disponible sur Windows Linux et OS X. Cette version devrait être considérée comme une version alpha et ne devrait donc pas être utilisée en environnement de production.

Télécharger Rust 0.8

Source : Mozilla

Et vous ?

Avez-vous déjà utilisé Rust ? Qu'en pensez-vous ?
Avatar de esperanto esperanto
http://www.developpez.com
Membre régulier
le 03/10/2013 10:10
Excusez-moi mais j'ai comme l'impression que dans l'esprit de certains, tout ce qui a des accolades "ressemble à du C". Soit à peu près tous les langages récents, à l'exception peut-être de Python et Ruby.
Moi ce langage me fait plus penser à Perl 6 (le nouveau, avec son typage fort), avec un usage massif des fonctionnelles (oui en plus maintenant pour être plus moderne faut dire closures...) à la Ruby. Ou au niveau de la syntaxe... d'abord un brin de Caml, et puis après tout, tiens, ça me fait penser à Go tout à coup, et justement, ça faisait un bail qu'on n'en entendait plus parler. De là à penser que les deux langages vont subir le même destin...
Un effet positif quand même : il semble que les concepteurs de langages aient enfin compris qu'entre un C/C++ qui permet de faire n'importe quoi avec les pointeurs et un langage parano à la Ada, il y a de la place pour un vrai langage compilé qui soit ni trop permissif ni pas assez. En plus il y a de la demande, comme le prouvent des projets comme GCJ (compilateur java natif): plutôt que de s'obstiner avec une machine virtuelle alors qu'on sait que 90% des utilisateurs sont sous Windows (c'est encore plus criant avec C#), plutôt que le "write once run everywhere" pourquoi ne pas promouvoir le "write once, build everywhere" comme par exemple le projet Lazarus?
Avatar de Uther Uther
http://www.developpez.com
Expert Confirmé Sénior
le 03/10/2013 17:44
Je suis assez d’accord sur le fait que le Rust ne doit pas être considéré simplement comme un remplaçant du C/C++ même s'il semble tout a fait adapté pour pouvoir le faire à terme. La syntaxe a quelques points commun (accolades, opérateurs, ...) mais aussi pas mal de différences(déclarations, types de pointeurs, closures, pattern matching). Les développeur se sont légèrement inspirés de C++, Go ou Ruby. Mais si on les écoutes leurs principales références sont Erlang(pour la concurrence) et Haskell(pour le typage).

Je serais moins d'accord vis a vis de la comparaison a Go. Rust est plus orienté vers le bas niveau(gestion fine de la mémoire, GC optionnel,...)
Un langage n'a pas besoin de faire la une en permanence pour être efficace et utilisé. Go a une communauté qui ne fait pas beaucoup de bruit mais qui est plutôt active au vu de son jeune age.
La communauté autour de Rust est plus restreinte mais aussi très active ce qui est encore plus impressionnant si on considère que le langage, n'a même pas encore une syntaxe stabilisée.
Avatar de kremvax kremvax
http://www.developpez.com
Membre confirmé
le 26/10/2013 15:27
Il me semble aussi que la comparaison avec C/C++ tient plus des applications visées (orientées performances) que du langage en lui-même. Même si d'après les quelques benchs que j'ai pu voir rust est encore loin d'avoir le même niveau de perfs, ça tient sans doute en partie à la jeunesse du langage.

J'ai "essayé d'essayer" rust pour faire un mini jeu, mais c'est assez chaud pour le moment, il va falloir attendre encore un moment que le langage gagne en maturité avant de voir se développer un petit écosystème de bibliothèques... J'ai l'impression que le langage continue d'évoluer assez massivement, les documentations / tutos qu'on peut trouver ça et là sont souvent périmés, l'interfaçage avec le C++ semble être encore en cours d'élaboration donc c'est pas encore le moment de se jeter dessus à corps perdu!
Avatar de Uther Uther
http://www.developpez.com
Expert Confirmé Sénior
le 27/10/2013 0:49
Le langage continue encore d'évoluer lourdement. J'avais mis sur ce sujet un lien vers un article à jour mais malheureusement, les modérateurs n’apprécient pas que l'on mette des liens vers des tutoriels venant d'autre sites que developpez.com
Si tu es intéressé par le développement de jeu, il y a une communauté active qui travaille sur rust.

L’interfaçage avec le C++ ne sera probablement jamais totalement possible car le modèle objet de C++ est assez différent de celui de Rust. Par contre l’interfaçage avec le C fonctionne bien. Si on fait un wrapper C++ utilisant des extern "C", cela fonctionne.
Avatar de Hinault Romaric Hinault Romaric
http://www.developpez.com
Responsable Actualités
le 17/01/2014 14:39
Rust s’approche de sa première version stable
Mozilla publie une nouvelle préversion de son langage dérivé de C/C++

Avec Rust, Mozilla ambitionne de renvoyer dans les tiroirs les célèbres langages de programmation C et C++, en proposant un langage qui s’inspire de ce qui a fait leur succès, mais qui propose en plus une meilleure sécurité.

L'objectif de Mozilla est de « concevoir et implémenter un langage orienté objet statique, typé, sûr, concurrentiel et efficace ».

Rust a été développé à la base comme un projet autonome par Graydon Hoare, de la fondation Mozilla, en 2006. Le langage a été dévoilé publiquement en 2010 et est sorti en version 0.1 pour les « early adopters » en janvier 2012.




Mozilla vient de publier la version 0.9 du langage, qui marque probablement la dernière étape avant la publication de la version stable 1.0. Rust 0.9 apporte un lot d’améliorations, dont la possibilité pour les développeurs de choisir s’ils veulent construire des bibliothèques dynamiques ou statiques.

Les bibliothèques natives sont désormais des éléments de « première classe », ce qui permet de développer et distribuer une bibliothèque Rust sans que les bibliothèques natives ne soient incluses dans le package.

Les développeurs de Rust ont procédé à une révision complète de l’infrastructure d’E/S. Toutes les fonctionnalités d’E/S sont désormais disponibles au niveau de std::io, qui a été entièrement réécrit. À ce niveau, Rust s’enrichit de deux nouvelles bibliothèques : libgreen et libnative.

Des changements ont également été apportés à la façon dont les pointeurs sont traités.

Rust est disponible en open source pour Windows, Linux, Mac OS X et FreeBSD. La version 1.0 du langage sortira avant la fin de l’année.

Télécharger Rust 0.9

Source : notes de version

Et vous ?

Avez-vous testé Rust ? Allez-vous l’adopter ?
Avatar de codec_abc codec_abc
http://www.developpez.com
Membre du Club
le 17/01/2014 17:18
J' ai du mal à trouver des informations quant à la rétro-compatibilité de Rust avec le C/C++. (Je pense que pour le C c'est quasiment certain, mais pour le C++ j'ai des doutes) C'est pour moi une grosse différence, parce que le langage a beau être prometteur sur le papier, s'il ne peut pas utiliser toutes les librairies C/C++ disponibles à ce jour ca reste un sacré frein à son adoption.

EDIT: au vue du précédent message je crois bien que j'ai ma réponse.
Avatar de Uther Uther
http://www.developpez.com
Expert Confirmé Sénior
le 19/01/2014 9:23
Citation Envoyé par Hinault Romaric Voir le message
Mozilla vient de publier la version 0.9 du langage, qui marque probablement la dernière étape avant la publication de la version stable 1.0.
En fait la prochaine version sera une 0.10 et il y aura probablement une 0.11 ensuite. A partir de la version 1.0 Rust devra gérer la compatibilité ascendante et il reste encore trop de changements incompatibles prévus pour les mois à venir.
L'équipe qui travaille sur Rust a annoncé quelle envisage de pouvoir sortir la version 1.0 de Rust vers fin 2014.

Citation Envoyé par Hinault Romaric Voir le message
Avez-vous testé Rust ? Allez-vous l’adopter ?
J'ai un peu joué avec, le principe me plait beaucoup, et je pense que je l'utiliserai pour des projets personnels lorsqu'il sera stable.

Pour le travail, je verrai si j'ai une bonne occasion de le pousser quand il sera stable, mais comme je travaille surtout sur des applications web et que les performances et la sécurité ne sont que rarement nos soucis principaux, j'en doute.

Citation Envoyé par codec_abc
J' ai du mal à trouver des informations quant à la rétro-compatibilité de Rust avec le C/C++. (Je pense que pour le C c'est quasiment certain, mais pour le C++ j'ai des doutes) C'est pour moi une grosse différence, parce que le langage a beau être prometteur sur le papier, s'il ne peut pas utiliser toutes les librairies C/C++ disponibles à ce jour ca reste un sacré frein à son adoption.
L’interfaçage avec du C marche déjà parfaitement bien et le langage a été prévu pour que ça soit très simple a mettre en œuvre. Il est tout de même conseillé de faire un wrapper en Rust pour gérer la sécurité, le code C étant considéré comme "unsafe".

Actuellement si on souhaite utiliser du code C++, il faut d'écrire un wrapper en C++ qui fournira à Rust une interface C (extern "C").

Le support direct et complet du C++ n'est pas vraiment possible car il y a des différences incompatibles dans la manière dont chaque langage gèrent les objets. A ma connaissance aucun langage ne le propose. Le D fournit un support limité de l’interfaçage avec C++ et les gens qui travaillent sur Rust envisagent de fournir quelque chose d'approchant à l'avenir, mais ça sera après Rust 1.0.
Avatar de _skip _skip
http://www.developpez.com
Expert Confirmé Sénior
le 19/01/2014 9:35
Avec l'annonce récente de M# par microsoft, le D qui pourrait finalement sortir de sa grotte avec l'aide de facebook et Rust qui s'approche d'une version stable, on risque d'avoir 3 technos qui s'attaquent en même temps au même segment. Comme si tout le monde avait réalisé en même temps qu'il existait un gros vide entre le C++ et java/.Net.

Je suis globalement très enthousiaste pour Rust mais la bataille risque d'être rude.
Avatar de codec_abc codec_abc
http://www.developpez.com
Membre du Club
le 19/01/2014 12:09
Citation Envoyé par Uther
Le support direct et complet du C++ n'est pas vraiment possible et a ma connaissance aucun langage ne la propose. Le D fournit un support limité de l’interfaçage avec C++ et les gens qui travaillent sur Rust envisagent de fournir quelque chose d'approchant à l'avenir, mais ça sera après Rust 1.0.

Techniquement l’interfaçage complet et direct avec C++ n'est pas possible, cependant on peut tout a fait utiliser du code C++ à condition d'écrire un wrapper en C++ qui fournira à Rust une interface C (extern "C").
Effectivement c'est la même solution que la totalité des autres langages qui veulent s'interfacer avec du C++. Dans la pratique, vu que c'est quelque chose que je n'ai jamais fait, comment ca se passe ? J'imagine qu'il faut d'abord compiler la librairie C++ avec le compilo de son choix. Puis linker son wrapper C avec la libraire précédemment compilé. Enfin, on peut linké son exécutable (ou sa librairie) écrit en Rust avec le wrapper. Ça me semble assez lourd comme processus. En plus, je vois un problème avec les librairies en évolution. Leur API changeant régulièrement il faut réécrire le wrapper et une partie du code Rust qui y fait appel.

Citation Envoyé par _skip
Avec l'annonce récente de M# par microsoft, le D qui pourrait finalement sortir de sa grotte avec l'aide de facebook et Rust qui s'approche d'une version stable, on risque d'avoir 3 technos qui s'attaquent en même temps au même segment. Comme si tout le monde avait réalisé en même temps qu'il existait un gros vide entre le C++ et java/.Net.

Je suis globalement très enthousiaste pour Rust mais la bataille risque d'être rude.
Il me semble qu'il y ai une différence notable entre Rust, D et M#. C'est que M# doit produire du byte code tandis que D et Rust produisent du code natif. D'ailleurs on peut aussi rajouter Go à la liste des nouveaux langages ayant pour but de "remplacer" C++.
Avatar de Uther Uther
http://www.developpez.com
Expert Confirmé Sénior
le 19/01/2014 17:41
Citation Envoyé par codec_abc Voir le message
Effectivement c'est la même solution que la totalité des autres langages qui veulent s'interfacer avec du C++. Dans la pratique, vu que c'est quelque chose que je n'ai jamais fait, comment ça se passe ?
Certaines bibliothèque C++ fournissent déjà une interface compatible C. Si ce n'est pas le cas, il faudra réaliser soi même cette interface.
Le principe est assez simple : dans un programme C++ les fonctions déclarées extern "C" sont compilées avec une ABI compatible C. Elles sont donc utilisables dans les langages qui acceptent de s'interfacer avec le C.
Le prototype de ces fonctions ne doit pas utiliser des fonctionnalités qui n'existent pas en C, mais le corps de la fonction le peux.

Par exemple supposons la classe C++ suivante:
Code C++ :
1
2
3
4
5
6
7
// MaBibliotheque.h : Bibliothèque C++
class MaClasse {
  public:
    MaClasse(int x);
    void methode1(int x);
    int methode2(int x, int y);
}

On va pouvoir coder (toujours avec un compilateur C++) des fonctions avec une interface C qui utilisent cet objet :
Code C++ :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// MaBibliotheque_C.cpp : Wrapper C++/C 
#include "MaBibliotheque.h"
 
extern "C" {
  void* MaClasse_new(int x){
      return new MaClasse(x);
  }
 
  void MaClasse_methode1(void* object, int x){
      ((MaClasse*)object)->methode1(x);
  }
 
  int MaClasse_methode2(void* object, int x, int y){
      return ((MaClasse*)object)->methode2(x,y);
  }
}

Puis utiliser ça dans un programme rust:
Code Rust :
1
2
3
4
5
6
7
8
9
10
#[link(name = "MaBibliotheque_C")]
extern {
    fn MaClasse_new(libc::c_int) -> libc::c_void;
    fn MaClasse_methode1(ptr : libc::c_void, x : libc::c_int);
    fn MaClasse_methode2(ptr : libc::c_void, x : libc::c_int, y : libc::c_int) -> int;
}

fn main () {
    /* code utilisant les fonctions */
}


Citation Envoyé par codec_abc Voir le message
Il me semble qu'il y ai une différence notable entre Rust, D et M#. C'est que M# doit produire du byte code tandis que D et Rust produisent du code natif. D'ailleurs on peut aussi rajouter Go à la liste des nouveaux langages ayant pour but de "remplacer" C++.
On ne sait pour le moment pas grand chose de M# (d'ailleurs ce n'est certainement pas son nom officiel), mais du peu que j'ai lu, il semblerait qu'il soit bien compilé en code natif.
D et surtout Go sont moins orientés vers les systèmes et la sécurité que Rust : pas de protection contre les accès concurrents aux données, pointeurs null, gestion mémoire, GC obligatoire ou très difficilement évitable ...
Avatar de codec_abc codec_abc
http://www.developpez.com
Membre du Club
le 19/01/2014 19:19
Merci pour la réponse. C'est bien comme ca que je l'imaginai. Je pense que ça ne doit pas être un travail passionnant pour la plupart des gens. Ceci dit, Il me semble qu'il existe des outils pour le faire automatiquement mais généralement le code produit n'est pas d'une qualité remarquable.

Sinon a propos de Rust, il me semble que le langage n'intègre pas de garbage collector. À mon niveau, ca veut dire que l'on va retrouver les problématiques de fuites mémoire dans Rust. Ça serait un peu dommage pour un langage qui se veut "sécurisé".
Avatar de Uther Uther
http://www.developpez.com
Expert Confirmé Sénior
le 19/01/2014 21:53
Citation Envoyé par codec_abc Voir le message
Sinon a propos de Rust, il me semble que le langage n'intègre pas de garbage collector. À mon niveau, ca veut dire que l'on va retrouver les problématiques de fuites mémoire dans Rust. Ça serait un peu dommage pour un langage qui se veut "sécurisé".
En fait c'est tout le contraire : c'est un langage qui propose un contrôle précis de la durée de vie de la mémoire allouée pour permettre d'éviter les fuites, sans avoir besoin de recourir a un GC.
Ceci dit si tu ne veux pas réfléchir au problème de durée de vie des variables, il est possible de recourir à des pointeurs avec GC ou avec compteur de références. C'est par contre totalement optionnel et rien dans les bibliothèques standard ne t'oblige a les utiliser.
Avatar de partok partok
http://www.developpez.com
Invité de passage
le 25/01/2014 15:56
Dans le style de Rust, mais encore plus confidentiel, un langage que j'apprécie beaucoup : Nimrod dont j'ai entendu parler pour la première fois ici.
Avatar de WorkInProgress WorkInProgress
http://www.developpez.com
Futur Membre du Club
le 26/01/2014 20:31
Je viens de regarder Nimrod et la syntaxe est vraiment légère et à l'air quand même riche en possibilité. Ça fait penser à une sorte de python compilable. Ça me plait beaucoup aussi.
En ce qui concerne Rust, ça à l'air vraiment prometteur, et si ça marche bien, ça ne pourra être que bénéfique pour la fondation.
Il y a des petits truc sympas du genre :
Code :
1
2
3
4
5
6
7
8
let price =
    if item == "salad" {
        3.50
    } else if item == "muffin" {
        2.25
    } else {
        2.00
    };
ou encore :
Code :
let c = 100u;
pour forcer le typage des variable.
Mais ça reste un langage pour pro à mon avis parce que ce genre de structure fait gagner du temps mais ne rend pas l'apprentissage plus facile. Et dans l'ensemble l'apprentissage de ce langage doit être aussi laborieux que celui du C, voir encore plus étant donné le peu de doc qui existe pour l'instant (ce qui est bien normale vu la différence d'age des deux langages).
Avatar de gangsoleil gangsoleil
http://www.developpez.com
Modérateur
le 27/01/2014 9:40
Citation Envoyé par Hinault Romaric Voir le message
Avec Rust, Mozilla ambitionne de renvoyer dans les tiroirs les célèbres langages de programmation C et C++, en proposant un langage qui s’inspire de ce qui a fait leur succès, mais qui propose en plus une meilleure sécurité.

[...]
Rust est disponible en open source pour Windows, Linux, Mac OS X et FreeBSD. La version 1.0 du langage sortira avant la fin de l’année.
Les entreprises pour lesquelles j'ai travaille ont des clients sous differents linux (Red-Hat, Debian, Oracle, ...), Windows, Solaris, AIX, et HP-UX. Il manque donc au moins 3 cibles, et je n'ai pas vu de possibilite de telecharger juste les libs pour l'execution...

A mon sens, quelle que soit la qualite du langage, il n'est pas du tout oriente pour le monde professionnel actuellement.
Avatar de Uther Uther
http://www.developpez.com
Expert Confirmé Sénior
le 27/01/2014 22:55
Citation Envoyé par WorkInProgress Voir le message
Il y a des petits truc sympas du genre :
Code :
1
2
3
4
5
6
7
8
let price =
    if item == "salad" {
        3.50
    } else if item == "muffin" {
        2.25
    } else {
        2.00
    };
Encore pour ça il y a mieux:
Code :
1
2
3
4
5
let price = match item {
        "salad" | "concombre" => 3.50 ,
        "muffin" => 2.25 ,
        _  => 2.00
}
Avatar de partok partok
http://www.developpez.com
Invité de passage
le 27/01/2014 23:27
Et avec Nimrod:
Code :
1
2
3
4
let price = case item
            of "salad", "concombre":3.5
            of "muffin":2.5
            else:2.0
Bref, je ne sais pas si c'est déterminant... mais bon je suis HS.
Avatar de Uther Uther
http://www.developpez.com
Expert Confirmé Sénior
le 28/01/2014 0:50
Citation Envoyé par WorkInProgress Voir le message
Mais ça reste un langage pour pro à mon avis parce que ce genre de structure fait gagner du temps mais ne rend pas l'apprentissage plus facile. Et dans l'ensemble l'apprentissage de ce langage doit être aussi laborieux que celui du C, voir encore plus étant donné le peu de doc qui existe pour l'instant (ce qui est bien normale vu la différence d'age des deux langages).
Rust est en effet un langage qui vise à être pro, mais non pas parce qu'il fait gagner du temps de codage, car dans ce segment là Java, C#, Phython, Go, sont a mon avis bien meilleurs.

De même, apprendre les rudiments du C est en effet bien plus rapide que le Rust, mais pas parce que la syntaxe de Rust soit plus compliquée . C'est surtout que avec Rust, on va souvent tomber sur du code qui serait parfaitement valide en C mais qui refusera de compiler a cause des contraintes de mutabilité, durée de vie, concurrence, ...
Cependant apprendre a faire du C proprement en réfléchissant au problématiques auxquelles Rust oblige a réfléchir est certainement bien plus difficile que du Rust.

Je dirais au contraire que si Rust me semble a visée professionnelle, c'est parce qu'il pousse à réfléchir à des notions comme la concurrences, la durée de vie des variables, ... là ou les autre langages proposent le plus souvent des solution généralistes et simples mais non optimales (GC, typage dynamique, ...) ou permettent des manipulation dangereuses (dépassement de pile, allocation non contrôlée, ...)

Citation Envoyé par gangsoleil Voir le message
Les entreprises pour lesquelles j'ai travaille ont des clients sous differents linux (Red-Hat, Debian, Oracle, ...), Windows, Solaris, AIX, et HP-UX. Il manque donc au moins 3 cibles, et je n'ai pas vu de possibilite de telecharger juste les libs pour l'execution...
Pour ce qui est du multiplateforme, couvrir les trois principales Windows, Linux, Mac OS X et en plus Android(ARM) et FreeBSD(non officiellement supporté, mais il fonctionne et toute la suite de test est OK) est déjà pas mal pour un langage qui débute. Je ne connais aucun langage professionnel ou non, qui avant même sa sortie tournait sur beaucoup plus de plateformes que ça. De plus, vu que Rust est basé sur LLVM, je pense que le port vers d'autres architectures/OS ne devrait pas être si difficiles.

Citation Envoyé par gangsoleil Voir le message
A mon sens, quelle que soit la qualité du langage, il n'est pas du tout oriente pour le monde professionnel actuellement.
Il semble clair qu'il est clairement orienté vers le domaine professionnel. Bien sur, il est encore loin d'être assez stable, ne serait-ce qu'au niveau des spécifications, pour s'en réclamer capable, mais en même temps c'est normal pour un langage qui est encore en alpha.
Avatar de white_tentacle white_tentacle
http://www.developpez.com
Membre Expert
le 28/01/2014 9:15
Citation Envoyé par Uther Voir le message
Je dirais au contraire que si Rust me semble a visée professionnelle, c'est parce qu'il pousse à réfléchir à des notions comme la concurrences, la durée de vie des variables, ... là ou les autre langages proposent le plus souvent des solution généralistes et simples mais non optimales (GC, typage dynamique, ...) ou permettent des manipulation dangereuses (dépassement de pile, allocation non contrôlée, ...)
À mon avis, sauf évolution majeure dans le domaine de l’informatique (ce n’est pas impossible, les problématiques de sécurité du code commencent à être prises en compte), le domaine dans lequel rust apporterait le plus est les systèmes critiques, et là, il faut des certifications, et il se trouve en concurrence avec ADA, qui est bien implanté et continue d’évoluer de manière lente mais sûre. Et je ne suis pas sûr que la fondation mozilla soit prête à le pousser dans cette voie.

Du coup, il risque un peu d’évoluer comme D. Plein d’idées intéressantes, une bonne réalisation technique, mais rien à faire, ça ne décolle pas. Il y a beaucoup d’inertie en informatique, il est extrêmement difficile de remplacer des standards établis, et le gain apporté par rust ne m’apparaît pas suffisant à l’heure actuelle pour faire la différence.
Avatar de Uther Uther
http://www.developpez.com
Expert Confirmé Sénior
le 29/01/2014 11:50
Je pense en effet que le langage avec lequel Rust se trouve le plus en concurrence est l'Ada. Ça a beau être le premier langage que l'on m'a enseigné a l'université, j'en garde un mauvais souvenir. Le langage m'a paru lent avec une syntaxe lourde, ce que Rust essaie autant que possible d'éviter.
Ceci dit ma vision est certainement biaisée par les bibliothèques maisons que l'on nous forçait d'employer et le compilateur que l'on utilisait. Il mériterait certainement que je le réessaie avec des documentations techniques officielles et un compilateur moderne.

Pour ce qui est du support à venir, Je pense que c'est encore bien trop tôt pour spéculer là dessus. Mais je suis relativement optimiste pour Rust sur ce point si on le compare au D. On peut voir qu'il y a déjà une communauté très active qui travaille sur Rust et pas mal de projet qui se préparent autour alors qu'il est encore très instable. Je pense que le nom de Mozilla (et dans une moindre mesure Samsung) permet de fédérer plus facilement des supports.
Avatar de Flaburgan Flaburgan
http://www.developpez.com
Modérateur
le 07/02/2014 16:34
J'étais au FOSDEM le week-end dernier et il y a eu une présentation de Servo (le nouveau moteur de rendu by Mozilla destiné à détrôner Gecko dans quelques années). Il est écrit en Rust, et il est vraiment clair que le premier objectif du langage est de profiter du multi-coeur. C'est là dessus qu'il se différencie de C++ (Gecko est écrit en C++).
Avatar de Flaburgan Flaburgan
http://www.developpez.com
Modérateur
le 07/02/2014 17:27
Au passage, si ca intéresse des gens, mozilla organise un événement à Paris pour faire découvrir Rust le 25 février : https://www.eventbrite.fr/e/billets-...up-10528169037
Avatar de Hinault Romaric Hinault Romaric
http://www.developpez.com
Responsable Actualités
le 24/09/2014 14:17
Rust atteindra bientôt sa version 1.0
Mozilla dévoile la feuille de route de son langage de programmation multi-paradigme

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 à traques 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
Offres d'emploi IT
Développeur Web temps plein (H/F)
CDI
CALIMED - Provence Alpes Côte d'Azur - Marseille (13008)
Parue le 09/10/2014
Administrateur Systèmes et Réseaux (H/F)
CDI
Stokomani - Picardie - Creil (60100)
Parue le 05/10/2014
Développeur(se) middleware php/java (h/f)
CDI
Page Personnel - Ile de France - Bailly (78870)
Parue le 13/10/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula