Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #61
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    avril 2002
    Messages
    3 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : avril 2002
    Messages : 3 882
    Points : 11 217
    Points
    11 217
    Par défaut
    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.

  2. #62
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 2 898
    Points : 7 416
    Points
    7 416
    Par défaut
    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.

  3. #63
    Membre confirmé
    Profil pro
    Inscrit en
    septembre 2009
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2009
    Messages : 181
    Points : 462
    Points
    462
    Par défaut
    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++.

  4. #64
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    avril 2002
    Messages
    3 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : avril 2002
    Messages : 3 882
    Points : 11 217
    Points
    11 217
    Par défaut
    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++ : Sélectionner tout - Visualiser dans une fenêtre à part
    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++ : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ...

  5. #65
    Membre confirmé
    Profil pro
    Inscrit en
    septembre 2009
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2009
    Messages : 181
    Points : 462
    Points
    462
    Par défaut
    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é".

  6. #66
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    avril 2002
    Messages
    3 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : avril 2002
    Messages : 3 882
    Points : 11 217
    Points
    11 217
    Par défaut
    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.

  7. #67
    Futur Membre du Club
    Profil pro
    Inscrit en
    janvier 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2014
    Messages : 5
    Points : 8
    Points
    8
    Par défaut
    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.

  8. #68
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    mars 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mars 2013
    Messages : 22
    Points : 22
    Points
    22
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :
    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).

  9. #69
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Cyber sécurité
    Inscrit en
    mai 2004
    Messages
    9 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Cyber sécurité

    Informations forums :
    Inscription : mai 2004
    Messages : 9 721
    Points : 26 188
    Points
    26 188
    Par défaut
    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.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  10. #70
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    avril 2002
    Messages
    3 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : avril 2002
    Messages : 3 882
    Points : 11 217
    Points
    11 217
    Par défaut
    Citation Envoyé par WorkInProgress Voir le message
    Il y a des petits truc sympas du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    let price = match item {
            "salad" | "concombre" => 3.50 ,
            "muffin" => 2.25 ,
            _  => 2.00
    }

  11. #71
    Futur Membre du Club
    Profil pro
    Inscrit en
    janvier 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2014
    Messages : 5
    Points : 8
    Points
    8
    Par défaut
    Et avec Nimrod:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  12. #72
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    avril 2002
    Messages
    3 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : avril 2002
    Messages : 3 882
    Points : 11 217
    Points
    11 217
    Par défaut
    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.

  13. #73
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2008
    Messages : 1 505
    Points : 2 795
    Points
    2 795
    Par défaut
    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.

  14. #74
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    avril 2002
    Messages
    3 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : avril 2002
    Messages : 3 882
    Points : 11 217
    Points
    11 217
    Par défaut
    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.

  15. #75
    Modérateur
    Avatar de Flaburgan
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2010
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : avril 2010
    Messages : 1 229
    Points : 3 540
    Points
    3 540
    Par défaut
    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++).
    "Historiquement, techniquement, économiquement et moralement, Internet ne peut pas être contrôlé. Autant s’y faire." Laurent Chemla

    Je soutiens Diaspora*, le réseau social libre.

    Veillez à porter une attention toute particulière à l'orthographe...

    Blog collaboratif avec des amis : http://geexxx.fr

    Mon avatar a été fait par chiqitos, merci à lui !

  16. #76
    Modérateur
    Avatar de Flaburgan
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2010
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : avril 2010
    Messages : 1 229
    Points : 3 540
    Points
    3 540
    Par défaut
    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
    "Historiquement, techniquement, économiquement et moralement, Internet ne peut pas être contrôlé. Autant s’y faire." Laurent Chemla

    Je soutiens Diaspora*, le réseau social libre.

    Veillez à porter une attention toute particulière à l'orthographe...

    Blog collaboratif avec des amis : http://geexxx.fr

    Mon avatar a été fait par chiqitos, merci à lui !

  17. #77
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    janvier 2007
    Messages
    4 560
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2007
    Messages : 4 560
    Points : 252 018
    Points
    252 018
    Billets dans le blog
    106
    Par défaut
    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 à 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
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  18. #78
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    janvier 2007
    Messages
    4 560
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2007
    Messages : 4 560
    Points : 252 018
    Points
    252 018
    Billets dans le blog
    106
    Par défaut
    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
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  19. #79
    Membre chevronné
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2010
    Messages
    816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2010
    Messages : 816
    Points : 2 138
    Points
    2 138
    Par défaut
    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.
    Il y a 10 sortes de gens : ceux qui comptent en binaire et les autres.

    "Premature optimization is the root of all evil" --Donald Knuth
    traduction : "L'optimisation prématurée est la racine de tous les maux" -- Donald Knuth

    Si vous voulez apprendre à développer en Rust, un tuto (en français) est disponible ici.
    Si vous voulez voir mes projets, c'est sur github que ça se passe.

  20. #80
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    janvier 2007
    Messages
    4 560
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2007
    Messages : 4 560
    Points : 252 018
    Points
    252 018
    Billets dans le blog
    106
    Par défaut
    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
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

Discussions similaires

  1. Réponses: 21
    Dernier message: 29/11/2010, 18h33
  2. Réponses: 5
    Dernier message: 16/06/2010, 10h34
  3. Réponses: 4
    Dernier message: 16/03/2010, 16h24
  4. Réponses: 12
    Dernier message: 23/11/2009, 20h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo