IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

D Discussion :

GCC 9 sera la première version stable du compilateur à supporter le langage D


Sujet :

D

  1. #1
    Chroniqueur Actualités
    Avatar de Patrick Ruiz
    Homme Profil pro
    Redacteur web
    Inscrit en
    Février 2017
    Messages
    2 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Redacteur web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2017
    Messages : 2 078
    Points : 56 317
    Points
    56 317
    Par défaut GCC 9 sera la première version stable du compilateur à supporter le langage D
    GCC 9 sera la première version stable du compilateur à supporter le langage D :
    Un nouveau frontend allonge la liste

    La collection de compilateurs GNU (GCC) dispose d’un nouveau frontend ; c’est le résultat de l’intégration d’un commit au projet GCC il y a bientôt une semaine, ce, suite au feu vert du GCC Steering Committee.

    Nom : gcc support for D.png
Affichages : 16584
Taille : 19,3 Ko

    D’après ce qui ressort du commit, ledit frontend est une redite de celui de GDC – GNU D Compiler. Ce dernier vient allonger une liste dans laquelle on retrouve déjà des frontend pour les langages C (gcc), C++ (g++), Objective-C (gobjC), Objective C++ (gobjC++), Java (gcj), Ada (gnat), Fortran (gfortran) et Go (gccgo). À la réalité, la liste de frontend qui font office de potentiels candidats à une intégration avec la distribution standard de GCC est plus longue. Il s’agit de projets matures ou en cours de développement. On parle ici de GNU Pascal Compiler (GPC), Mercury, Cobol for GCC, GNU Modula-2, GNU Modula-3, GHDL, PL/1 for GCC et GCC Unified Parallel C (GCC UPC).

    En 2015, Andrei Alexandrescu a annoncé son départ de Facebook pour se consacrer au développement du langage D en partenariat avec la fondation qui en a la charge. Il fait partie des observateurs qui soutiennent que D fait office de meilleur successeur au langage C que Rust et Go. Une intégration d’un frontend pour le langage D avec GCC est donc de nature à décupler l’intérêt des développeurs pour ce langage, mais il faudra que les intéressés fassent montre de patience. En effet, référence faite aux échanges sur le forum dédié au langage, l’intégration est prévue avec GCC 9. D’après le plan de développement du compilateur, les travaux sur cette version ont débuté le 25 avril dernier. La version stable est attendue pour le premier trimestre de l’année 2019.

    Pour ceux qui sont au stade de sa découverte, Le D est un langage de programmation impératif orienté objet et multiparadigme. Il a été conçu pour la programmation système et est inspiré par de nombreux langages dont C, C++ et Java. Illustration avec le fragment de code qui suit :

    Code D : 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
    17
    18
    19
    void main()
    {
        import std.stdio, std.string, std.algorithm, std.conv;
     
        // Reduce the RPN expression using a stack
        readln.split.fold!((stack, op)
        {
            switch (op)
            {
                // Generate operator switch cases statically
                static foreach (c; "+-*/")
                    case [c]:
                        return stack[0 .. $ - 2] ~
                            mixin("stack[$ - 2] " ~ c ~
                                " stack[$ - 1]");
                default: return stack ~ op.to!real;
            }
        })((real[]).init).writeln;
    }

    Source : dlang.org

    Et vous ?

    Qu’en pensez-vous ?

    Le feu vert du GCC Steering Committee pour l’intégration de GDC avec GCC augmente-t-il la côte du langage D ?

    Avez-vous déjà fait usage du langage D ? Si oui, pour quel projet ? Quels retours pouvez-vous faire en termes de comparaison avec le langage C ?

    Voir aussi :

    Quel langage pourrait remplacer C ? Après avoir comparé Go, Rust et D, le choix d'Andrei Alexandrescu se porte sur D

    DMD : le compilateur de référence du langage D est désormais complètement open source, son backend vient de passer sous la Boost License

    C2 : un langage qui se présente comme une évolution de C plus rapide, sans fichiers d'en-tête, avec système de build intégré et d'autres changements

    Pourquoi les langages C et C++ auraient-ils encore de nombreuses années devant eux ? Donnez votre avis

  2. #2
    Membre expert

    Profil pro
    activité : oui
    Inscrit en
    Janvier 2014
    Messages
    1 262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : activité : oui

    Informations forums :
    Inscription : Janvier 2014
    Messages : 1 262
    Points : 3 409
    Points
    3 409
    Par défaut
    Qu’en pensez-vous ?
    "Il fait partie des observateurs qui soutiennent que D fait office de meilleur successeur au langage C que Rust et Go."
    Le langage ce montrant explicitement son successeur est le C++. Quand est-il de la comparaison C++17 vs D ? et C2 ?
    D'ailleur, je m'étonne qu'il ne fasse pas parti des propositions dans les thèmes du style :
    Quel langage pourrait remplacer C ? (Après avoir comparé Go, Rust et D, le choix d'Andrei Alexandrescu se porte sur D)
    ou encore Pourquoi les langages C et C++ auraient-ils encore de nombreuses années devant eux ?...je comprend qu'il puisse être perçu comme "vieux" parce que développé depuis les années 80, mais il a évolué depuis... quelqu'un aurait des notions concrètes qui sont limitantes dans C++ et nécessaires pour plus de possibilités /performances ?
    Est-il perçu comme un langage parallèle plutôt que successeur ?

    multiparadigme, polymorphisme, réflexivité, asynchronisme, typage fort, le degrés de contrôle bas niveau... la facilité de codage dans tel ou tel contexte...
    Des éléments que j'ai rarement vu côte à côte pour la description d'un langage, mais qui serait parfait comme brochure de présentation !
    PS: ça demande sûrement pas mal de temps de rassembler toutes ces info... en tout cas quand on s'y connait pas, comme moi. ^^'

    edit:
    - D peut être également utilisé pour écrire rapidement des scripts. En plus, les scripts exécutés bénéficient de performances énormes indépendamment du nombre de scripts.
    - D dispose d’un nombre important de bibliothèques. De plus, il utilise la même structure de mémoire que C et C++, ce qui fait que la bibliothèque entière de C est facilement accessible à D ...et des travaux sont en cours (2016) pour faire la même chose avec C++.
    - La compilation du code D est beaucoup plus rapide que celle du C++ pour des performances équivalentes (sur du code exécuté) ...pour Go c'est l'inverse.

    "Pour Andrei Alexandrescu (un des co-créateur du langage D), les caractéristiques d’introspection statique, le temps de compilation assez rapide ainsi que les nombreux atouts uniques au langage D, font de celui-ci le remplaçant idéal à C. Partant de ce fait, il trouve que Go est dépassé et n’a même pas saisi le problème, tandis Rust s’essaye à donner quelques éléments de solutions. (...) il estime que comparativement à D, même C++ s’est égaré dans les bois."

  3. #3
    Membre confirmé

    Inscrit en
    Décembre 2009
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 169
    Points : 496
    Points
    496
    Par défaut
    Le langage D est extrêmement interessant. Il peut être vu comme du C++ avec plus de fonctionnalités pour la programmation générique et au temps de la compilation, moins les défauts du C.
    Ceci n'est pas étonnant vu que Andrei, son second père, vient du monde C++ auquel il a contribué avec beaucoup de bonnes idées..
    Quand il a compris que le C++ n'allait pas assez dans la direction qu'il a préconisait, il en est parti pour s’occuper à temps complet du D. Il faut voir sa présentation lors du cppcon 2018 pour comprendre son animosité (amicale et toujours sur un ton humoristique) à l’égard du comité de normalisation.
    Ceci dit, un langage, sans bibliothèque standard solide, plein de libraires pour faire des applications et une large communauté, ça ne décolle pas facilement.
    Le C++, dès sa première version, était compatible avec le C. Et il n'a vraiment été adopté qu'après la publication de la stl plus d'autres libraires comme Qt.

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur C++
    Inscrit en
    Octobre 2008
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur C++

    Informations forums :
    Inscription : Octobre 2008
    Messages : 243
    Points : 714
    Points
    714
    Par défaut
    Je ne vois pas l'intérêt de continuer à développer D. C'est un langage qui n'apporte aucune réelle nouveauté. En plus de ça il a souffert d'avoir eu 2 bibliothèques standard, possède un GC et n'a même pas de pattern matching.

  5. #5
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Tech Lead
    Inscrit en
    Avril 2016
    Messages
    1 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Tech Lead

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 491
    Points : 6 196
    Points
    6 196
    Par défaut
    Je suis développeur C++. Je connais un peu D. Je connais aussi un peu Rust, mais moins que D.

    De mon point de vue, avant que le langage D ne puisse décoller pour devenir un concurrent sérieux à C++ et Rust, il y a 3 problèmes à régler :
    • Le langage D n'est pas encore assez stable. Il y a encore trop souvent des changements non rétrocompatibles. Je consulte régulièrement le forum D de dlang.org et j'ai vu plusieurs fois des développeurs se plaindre que des bibliothèques externes ne compilaient plus après une mise à jour de DMD et que cela se produisait plus souvent qu'avec d'autres langages.
    • Le compilateur officiel, DMD, a trop de bogues.
    • La bibliothèque standard, Phobos, n'est vraiment pas sympa avec ceux qui veulent désactiver le ramasse-miettes. Pour rappel, le langage D permet de définir des fonctions avec un attribut @nogc qui permet de garantir à la compilation que le code sous-jacent ne nécessite pas le ramasse-miettes. Mais, dans Phobos, il y a encore beaucoup de trop de fonctions qui ne sont pas @nogc alors qu'elles devraient l'être.


    Si un jour ces 3 problèmes seront corrigés, alors le langage D pourra décoller. Mais, pour l'instant, je pense que c'est Rust qui décollera au détriment de D.

    Pour l'instant, le principal intérêt que je vois à utiliser le langage D, c'est de devenir meilleur en programmation générique et en métaprogrammation.
    Le C++ possède les templates, les fonctions constexpr et les macros, mais cela reste très loin derrière le langage D.

    Citation Envoyé par Markand Voir le message
    C'est un langage qui n'apporte aucune réelle nouveauté.
    Je t'invite à lire https://dlang.org/spec/spec.html
    Tu verras que le langage D a une tonne de fonctionnalités. Il est plus riche que C++ et le surpasse largement en programmation générique et surtout en métaprogrammation.

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 769
    Points : 43 954
    Points
    43 954
    Par défaut
    Le langage D est-il utilisé ?
    Je le connais que de nom et depuis peu.

    Je ne suis pas développeur, mais pour moi le C et le C++ sont tellement implantés, que je ne vois pas ce langage n'être autre chose qu'une niche.

    Ce n'est pas un jugement du langage lui-même. Et de ce que j'ai vu de ce langage, il a quelques éléments intéressants.

  7. #7
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Tech Lead
    Inscrit en
    Avril 2016
    Messages
    1 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Tech Lead

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 491
    Points : 6 196
    Points
    6 196
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    Le langage D est-il utilisé ?
    Sur la page Wikipédia du langage D, on peut trouver plusieurs exemples :
    Notable organisations that use the D programming language for projects include Facebook,[49] eBay,[50] and Netflix.[51]

    D has been successfully used for AAA games,[52] a JavaScript virtual machine,[53][54] an operating system kernel,[55] GPU programming,[56] web development,[57][58] numerical analysis,[59] GUI applications,[60][61] and a passenger information system.[62]
    Les notes de bas de page renvoient vers des articles que je n'ai pas lus.

    J'ai aussi un exemple détaillé sous la main : https://dlang.org/blog/2018/06/20/ho...-migrate-to-d/
    Cet exemple vient de l'industrie maritime. Une entreprise avait un code d'un demi-million de lignes en Extended Pascal. Mais Extended Pascal était sur le point de ne plus être maintenu, donc ils ont voulu transpiler le code vers un autre langage. Finalement, Bastiaan Veelo, un lead developer de l'entreprise, a écrit un code en D pour transpiler Extended Pascal vers D. Le choix du langage D est détaillé dans l'article.

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/09/2017, 07h02
  2. Réponses: 11
    Dernier message: 22/02/2017, 13h42
  3. Réponses: 30
    Dernier message: 10/03/2011, 13h55
  4. dernière version stable d'axis
    Par mlequim dans le forum Services Web
    Réponses: 4
    Dernier message: 16/06/2006, 16h32

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