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. #1
    Chroniqueur Actualités
    Avatar de Patrick Ruiz
    Homme Profil pro
    Redacteur web
    Inscrit en
    février 2017
    Messages
    790
    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 : 790
    Points : 27 267
    Points
    27 267
    Par défaut DMD : la version 2.085 du compilateur de référence du langage D est disponible
    DMD : la version 2.085 du compilateur de référence du langage D est disponible
    Avec un meilleur interfaçage à Objective-C

    La D Language Foundation annonce la disponibilité en téléchargement de la version 2.085.0 de DMD – le compilateur de référence du langage D. Au menu : des avancées dans l’interfaçage avec le langage Objective-C d’Apple ; du nouveau avec le ramasse-miettes et des améliorations au niveau de l’interfaçage avec la bibliothèque standard du langage C++.

    Citation Envoyé par la D Language Foundation
    La version 2.085.0 de DMD, le compilateur de référence D, est maintenant prête à être téléchargée. Entre autres choses, cette version voit la prise en charge d'OS X 32 bits supprimée, un meilleur interfaçage avec Objective-C et de grandes nouvelles sur le front de la collecte des zones de mémoire inutilisées. Il y a également eu quelquesavancées en ce qui concerne la compatibilité avec la bibliothèque C++ standard. Au total, la version 2.085.0 représente 58 tickets Bugzilla fermés et les efforts de 49 contributeurs.
    Sur le front de l’interfaçage avec Objective-C, la D Language Foundation annonce qu’il est désormais possible de déclarer des classes Objective-C directement comme des classes D.

    Citation Envoyé par la D Language Foundation
    Auparavant, la liaison avec les classes Objective-C nécessitait l'utilisation d'interfaces D. Plus maintenant. Désormais, les classes Objective-C peuvent être déclarées directement comme classes D. Décorez une classe Objective-C avec extern(Objective-C), utilisez l'attribut @selector sur les méthodes et c'est parti.
    Code Objective-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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    extern (Objective-C)
    class NSObject
    {
        static NSObject alloc() @selector("alloc");
        NSObject init() @selector("init");
        void release() @selector("release");
    }
     
    extern (Objective-C)
    class Foo : NSObject
    {
        override static Foo alloc() @selector("alloc");
        override Foo init() @selector("init");
     
        int bar(int a) @selector("bar:")
        {
            return a;
        }
    }
     
    void main()
    {
        auto foo = Foo.alloc.init;
        scope (exit) foo.release();
     
        assert(foo.bar(3) == 3);
    }

    La D Language Foundation prévient à ce propos que « pour mieux faciliter l'interaction entre les deux langues, ces classes ont un comportement légèrement modifié. Toutes les méthodes statiques et finales d'une classe extern (Objective-C) sont virtuelles. »

    Nom : D_Programming_Language_logo.svg.png
Affichages : 2020
Taille : 49,4 Ko

    L’autre nouveauté en ce qui concerne l’interfaçage avec le langage Objective-C est qu’il est désormais possible de déclarer des variables d’instance au sein de classes Objective-C – ainsi qu’à l’intérieur d’une méthode contenue dans une classe Objective-C – pour effectuer un appel spécial.

    Code : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    extern (Objective-C)
    class NSObject
    {
        void release() @selector("release");
    }
     
    extern (Objective-C)
    class Foo : NSObject
    {
        // instance variable
        int bar;
     
        int foo() @selector("foo")
        {
            return 3;
        }
     
        int getBar() @selector("getBar")
        {
            return bar;
        }
    }
     
    extern (Objective-C)
    class Bar : Foo
    {
        static Bar alloc() @selector("alloc");
        Bar init() @selector("init");
     
        override int foo() @selector("foo")
        {
            // super call
            return super.foo() + 1;
        }
    }
    Depuis la version 2.067 du compilateur, il est possible de configurer le ramasse-miettes depuis la ligne de commande ou des options intégrées à un exécutable. Avec la version 2.085, les développeurs peuvent s’appuyer sur cette possibilité pour choisir precise comme option de ramasse-miettes.

    Citation Envoyé par la D-Language Foundation
    La plus grosse des nouvelles en ce qui concerne le ramasse-miettes est peut-être que l'environnement d'exécution est désormais livré avec un ramasse-miettes précis. Celui-ci peut être activé sur n'importe quel exécutable compilé et lié à la dernière version du runtime en lui passant l'option --DRT-gcopt=gc:precise. En clair, il ne s'agit pas une option du compilateur DMD.

    Si vous sélectionnez precise comme ramasse-miettes via les différentes options de configuration, les informations de type seront utilisées pour identifier les possibles ou réels pointeurs au sein des données d'objets alloués dans le heap. Dans ces conditions, les données autres que les pointeurs ne pourront être interprétées comme faux pointeurs vers d’autres emplacements mémoire.
    Avec la version 2.085, le compilateur de référence du langage D se dote d’une nouvelle option de contrôle du comportement du ramasse-miettes lorsque l’exécution d’un programme arrive à son terme. L’objectif de son introduction est de donner au développeur la possibilité de provoquer la libération inconditionnelle des zones de mémoire utilisées par un programme en fin d’exécution.

    La dernière mouture du compilateur de référence du langage D vient avec deux améliorations en ce qui concerne l’interfaçage avec la bibliothèque standard du C++. Noter à ce propos que les programmes D pourront désormais allouer de la mémoire à partir du heap C++, ce, en s’appuyant sur les opérateurs new et delete. Enfin, la version 2.085 donne l’accès aux conteneurs de la STL par le biais de la classe std::allocator<T> exposée via un module C++.

    Source : dlang

    Et vous ?

    Que pensez-vous des nouvelles fonctionnalités livrées avec cette version du compilateur de référence pour le langage D ?

    Avez-vous déjà fait usage du langage D ? Si oui, pour quelle raison devrait-on s'y intéresser ?

    Voir aussi :

    Quel langage pourrait remplacer C ? Après avoir comparé Go, Rust et D, le choix d'Andrei Alexandrescu se porte sur D
    Débuter avec le langage D, un tutoriel de Sébastien Tahier
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur C++
    Inscrit en
    octobre 2008
    Messages
    186
    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 : 186
    Points : 514
    Points
    514
    Par défaut
    D... le langage mort né. Je déteste Go, mais je pense que même Go est mieux que D.

  3. #3
    Membre éclairé Avatar de Matthieu76
    Homme Profil pro
    Consultant informatique
    Inscrit en
    mars 2013
    Messages
    564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : mars 2013
    Messages : 564
    Points : 855
    Points
    855
    Par défaut
    Bah je ne vois pas l'intérêt de ce language, aussi verbeux que le C++ mais sans ces performances.

Discussions similaires

  1. Notepad ++ : la version 7.6.2 de l’éditeur open source pour Windows est disponible
    Par Patrick Ruiz dans le forum Logiciels Libres & Open Source
    Réponses: 63
    Dernier message: 25/01/2019, 06h49
  2. Réponses: 6
    Dernier message: 28/10/2018, 19h55
  3. Réponses: 9
    Dernier message: 13/04/2017, 04h39
  4. [PIC Micro Pascal] Version 2 de PMP, compilateur Pascal pour PIC
    Par Alcatîz dans le forum Autres IDE
    Réponses: 2
    Dernier message: 13/09/2014, 11h49
  5. [Flash Pascal] Nouvelle version 0.7 du compilateur FlashPascal
    Par Paul TOTH dans le forum Flash Pascal
    Réponses: 4
    Dernier message: 13/07/2011, 22h38

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