Programmation D
En 1969, Ken Thompson dévoile le B : son nouveau langage de programmation succédant au BCPL, dont le nom fut inspiré d’un ancien langage, le “Bon”, du nom de son épouse “Bonnie” ! La caractéristique importante de ce langage est qu’un seul type de données est reconnu : les mots “word”. Les opérations sont donc effectuées en les considérant soit comme des entiers soit comme des adresses mémoire.
De la, Dennis Ritchie propose en 1972 une évolution de ce langage (notamment par l’introduction de la notion de type ainsi qu’un usage intensif des calculs d’adresses mémoire par le biais des pointeurs) de telle sorte qu’il est devenu un des langages les plus utilisés.
C’est dans cette dynamique d’amélioration et d’innovation des langages de programmation, que se développe le D, un des nombreux langages créé dans l’optique de succéder au C. Imaginé par Walter Bright et apparu en 1999 : le D n’a pas eu la notoriété de son prédécesseur. Il trouve tout de même un intérêt dans la programmation système en s’inspirant de langages tels que le C++ et le JAVA.
Historique
Avec une première version parue en 1999 (1.x), le D avait pour objectif de combiner puissance de calcul et productivité. Allier la performance d’exécution des langages compilés (traduction en langage machine par un compilateur avant une exécution) avec l’intuitivité des langages de script (ou langage interprété, impliquant une traduction au fur et à mesure de l’exécution par l’interpréteur).
« Si un langage peut récupérer 90 % de la puissance du C++ mais seulement 10 % de sa complexité, cela vaut largement le coup. »
— Walter Bright
S’en suit une seconde version (2.x) dévoilée en 2007, apportant la notion de langage multi-paradigmes ainsi que d’autres optimisations. Nous sommes aujourd’hui et depuis le 27 juin 2016 dans la version D 2.071.1. A noter que la première version est obsolète et abandonnée depuis le 31 décembre 2012.
Caractéristiques
Comme nous l’avons vu précédemment le D tend à combiner les avantages apportés par les langages compilés avec l’intuitivité des langages interprétés. En effet si vous avez déjà touché au C, vous avez du remarquer que la syntaxe, parfois non-intuitive, introduit des erreurs difficiles à corriger, s’ajoute à cela une difficulté importante en ce qui concerne la création et la maintenance de compilateurs. C’est ce genre de problème de syntaxe et de sémantique que le D souhaite corriger à l’aide de modules, d’une syntaxe claire ainsi que l’affranchissement du préprocesseur menant à une considérable accélération de la vitesse de compilation et, par la même occasion, l’implémentation d’outils d’analyse de code (debuggeur).
Parlons bien, parlons capacités ! Attardons nous sur ce que ce langage a sous le capot :
Programmation Orientée Objet, Fonctionnelle, Concurrentielle, Impérative, Contrat et Méta-programmation, soit un large panel de paradigmes pris dans les langages existants.
Très clairement inspiré de nombreux langages (C++, Java, C, etc), le D regroupe de nombreux principes tels que les pointeurs, l’héritage, les bibliothèques dynamiques ainsi que les exceptions pour la gestion d’erreurs.
Un exemple ? Que serait un article de présentation de langages sans le fameux “Hello World” !
Et pourtant …
Nous avons ainsi vu que le D semble apporter des solutions à nombre de problèmes, pourtant il ne reste que modestement reconnu, étonnant ? Et bien oui et non ! S’il est encore “peu” utilisé en France ce n’est pas le cas outre atlantique, selon github le D se situe même en 25ème position concernant le nombre de projets faisant appel à ce langage !
Ainsi il ne vous reste plus qu’à vous familiariser aux caractéristiques syntaxiques et à juger par vous même !