DMD : la version 2.087.0 du compilateur de référence du langage D est disponible
Avec la prise en charge de Markdown par Ddoc

Le , par Bill Fassinou

66PARTAGES

4  0 
La D Language Foundation a annoncé ce vendredi la disponibilité en téléchargement de la version 2.087.0 de DMD, le compilateur de référence du langage D. Selon la note de version de DMD 2.087.0, l'un des changements apportés dans cette version est la fin des transitions pour les importations. Un autre changement implique un certain basculement du compilateur et la compilation de Phobos. Il existe également une fonctionnalité utile pour les développeurs Windows, ainsi que d'autres options permettant de documenter le code avec Ddoc.

La version 2.085.0 qui a été publiée en mars dernier a été livrée avec un meilleur interfaçage Objective-C et de grandes nouvelles sur le front de la collecte des zones de mémoire non utilisées. Sur le front de l’interfaçage avec Objective-C, la D Language Foundation avait annoncé qu’il était désormais possible de déclarer des classes Objective-C directement comme des classes D. La prise en charge d'OS X 32 bits a été supprimée. Il y a également eu quelques avancé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.


Dans cette version, la 2.087.0, 44 numéros de Bugzilla ont été fermés, avec 22 modifications majeures fournies par 63 contributeurs. Ces nombreuses modifications ont permis de résoudre deux bogues qui existent depuis une dizaine d’années au sein du compilateur. Ces bogues permettaient parfois d'accéder à des symboles dans un champ d’application dans laquelle ils n'étaient pas censés être visibles. Une fois les bogues corrigés, deux commutateurs ont été introduits pour aider les utilisateurs à conserver leur code existant. Un lien est disponible dans la note de version pour vous fournir les détails qu’il faut.

Dans DMD 2.087.0, la période de transition est terminée, indique sa note de version. Les commutateurs « -transition=import » et « -transition=checkimports » n'ont plus d'effet. Désormais, si vous essayez de compiler un code existant avec « -transition=import », votre code sera rompu avec la nouvelle version si vous vous basez toujours sur l'ancien comportement buggy. Quand une période se termine, une autre commence. Vous recevrez désormais une alerte de dépréciation si vous essayez d’initialiser des données globales immuables via un constructeur statique. Cette manière de procéder est obsolète. Les constructeurs statiques et les destructeurs sont appelés une fois par thread.

Étant donné que les données globales immuables sont implicitement partagées entre les threads plutôt que d'être locales à des threads comme des variables D normales, elles seraient écrasées chaque fois qu'un nouveau thread est généré. Une autre nouvelle qu’a annoncée la D Language Foundation est que la fonctionnalité « Scoped Pointers » fonctionne à présent bien à partir de DMD 2.087.0. La fonctionnalité était un peu difficile à utiliser, car la bibliothèque standard ne pouvait pas être compilée convenablement.

La fondation a néanmoins prévenu que cette fonctionnalité est toujours en mode de prévisualisation et n’a pas encore été suffisamment utilisée. À cet effet, elle vous invite à ne pas être surpris si vous découvrez des bogues, mais plutôt à les signaler pour permettre de les corriger. À la suite de ces modifications intervenues dans DMD 2.087.0, il est désormais possible de sélectionner explicitement les bibliothèques d’importation MSCOFF et l’éditeur de liens LLD fournis via le commutateur de ligne de commande -mscrtlib=msvcrt100. Par la suite, la D Language Foundation a indiqué qu’à partir de la version 2.087.0 de DMD, Markdown est désormais pris en charge par Ddoc.

D’après la note de version, Ddoc a été conçu à l'origine comme un système basé sur des macros pour documenter le code source, mais son utilisation s'est depuis développée au-delà de ce scénario. Par exemple, la plupart des sections du site Web dlang.org sont créées avec Ddoc, tout comme le site dconf.org. Selon ce que dit la fondation, la prise en charge de la syntaxe pour Markdown a été réclamée à plusieurs reprises par les programmeurs D sur ses différents forums. Il est disponible à partir de DMD 2.087 et actuellement en mode de prévisualisation.

Notez cependant qu’il pourrait y avoir certaines différences par rapport aux autres versions de Markdown que vous connaissez peut-être. Vous êtes donc invité à lire la liste des fonctionnalités prises en charge avant de la mettre en œuvre. Un lien à ce propos est disponible dans la note de version de 2.087.0. Selon certains, le langage n’attire plus autant de monde qu’à ses débuts et ces changements n’y changeront pas grand-chose.

D’après les explications qu’ils ont données, il n’y a tout simplement plus d’emplois pour les programmeurs D aujourd’hui. « Le langage semble avoir été dépassé et les forums dédiés disparaissent peu à peu. Dans certains pays, D a presque ou totalement disparu tandis que Go et Rust se développent très rapidement et raflent toute la part du marché », ont-ils déclaré. Ils ont ajouté que même si le compilateur a été rendu totalement open source depuis presque deux ans, cela n’a pas changé grand-chose.

Source : dlang

Et vous ?

Qu'en pensez-vous ?

Voir aussi

DMD : la version 2.085 du compilateur de référence du langage D est disponible, avec un meilleur interfaçage à Objective-C

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

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

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de defZero
Membre du Club https://www.developpez.com
Le 08/07/2019 à 2:15
En même temps le "D" n'est open source que depuis 2 ans, sur 10 ans d'existence c'est peut et ça n'as pas incité à son adoption dès le départ.

M. Alexandrescu aurait du savoir étant donner l’expérience qu'il a, que pour répandre un langage il faut au minimum un compilateur open source officiellement supporté et une très bonne doc.
Il a finit par le faire après coups, sachant que sont langage devrait en affronter d'autres apparut sur la même niche (programmation "système" simplifié) et qui eux sont open source (Google => Go; M$ => C#, F#; Mozilla => Rust; Nim, Crystal, Pony, Zig, ...etc).
Bref un beau foirage pour un langage qui aurait largement put détrôner les Java/.Net en entreprise.

Malgré tout, je respecte les personnes qui s'investissent dans le langage, mais je trouve qu'il a manqué trop d'opportunités pour briller.
0  0 
Avatar de JPLAROCHE
Membre averti https://www.developpez.com
Le 09/07/2019 à 14:16
Étant donné que les données globales immuables sont implicitement partagées entre les threads plutôt que d'être locales à des threads comme des variables D normales, elles seraient écrasées chaque fois qu'un nouveau thread est généré.
bonjour , je ne comprends pas bien .... cela veux dire qu'à chaque thread on écrase les données immuable?????? besoin d'un éclaircissement svp , Merci
0  0 

 
Responsable bénévole de la rubrique D : LittleWhite -

Partenaire : Hébergement Web