GCC est un logiciel libre capable de compiler divers langages de programmation, parmi lesquels le C, C++, Objective-C, Java, Ada et Fortran. À cette liste, vient s’ajouter désormais le langage de programmation D, comme l’a annoncé le projet dans une liste de diffusion : « Je suis heureux d'annoncer que le Comité directeur de la CCG a accepté l’inclusion dans GCC du langage front-end ainsi que du runtime D et a nommé Iain Buclaw comme responsable. Les correctifs nécessitent toujours l'approbation d'un évaluateur global », a annoncé David Edelsohn, Directeur de la technologie GCC chez IBM.
Le D est un langage de programmation impératif orienté objet et multiparadigme conçu pour la programmation système.
Il s’inspire de nombreux langages, dont entre autres C++, Java (avec lequel il partage la notion de « ramasse-miettes » et d’héritage simple), Eiffel (pour le paradigme de programmation par contrat).
Le langage D peut être considéré comme un langage de haut niveau par le fait de la simplification du code par rapport au C++, des frameworks Phobos et Tango qui permettent un niveau d'abstraction important, et surtout parce que le langage intègre nativement un ramasse-miettes. Le ramasse-miettes, comme en Java, permet de ne pas se préoccuper de la gestion de la mémoire et donc de simplifier les tâches d'écriture de code.
Cependant, le langage D est aussi considéré comme un langage de bas niveau, car il autorise :
- l'intégration de code assembleur, ce qui permettra de faire des optimisations importantes par rapport à l'architecture matérielle, mais rendra le code plus difficilement portable ;
- la désactivation partielle ou totale du ramasse-miettes, ce qui autorise une gestion plus précise de la mémoire.
Parmi les autres particularités de D, nous pouvons citer :
- la gestion de test unitaire en natif ;
- les modules ;
- les fonctions anonymes ;
- les structures de tableau ;
- la surcharge d'opérateurs ;
- la gestion des exceptions ;
- la documentation style javadoc ;
- les templates ;
- l'interfaçage avec des bibliothèques écrites en C.
Le compilateur officiel, DMD, est développé parallèlement à la spécification du langage. Il cible le langage machine. Une partie de son code (le frontend) est ouvert, ce qui permet de corriger rapidement les problèmes rencontrés, ou encore de réaliser son propre compilateur en utilisant une autre base (backend). Il existe actuellement pour les plates-formes Linux, Mac OS X et Windows.
Du côté de GNU, le compilateur GDC, mêlant le frontend de DMD et le backend de gcc avait été annoncé comme étant en développement.
Source : annonce de l'inclusion de D dans GCC
Voir aussi :
Débuter avec le langage D
Et vous ?
Avez-vous déjà utilisé le langage D ? Qu'en pensez-vous ?