Passer au contenu

Le langage D rénove la programmation systèmes

Conçu pour être une extension du vénérable C, le langage D apporte un éventail de fonctions visant à la simplification et à l’efficacité. La version 1.0 de l’implémentation de référence est désormais accessible.

Sa définition a débuté en 1999. Il se veut le successeur de toute une classe de langages (C++, Java, C#) qui se sont inspirés au fil du temps du C, le langage de programmation systèmes de référence depuis trente-cinq ans. Le langage D
vise les applications systèmes, de grande taille, exigeant performances, déterminisme et fiabilité. Pour minimiser le temps d’apprentissage, sa syntaxe apparaît volontairement familière aux habitués du C/C++.Une part importante des lignes directrices du D est en fait constituée des bonnes pratiques de programmation incorporées au sein du langage. Tout est fait pour simplifier l’écriture, la mise au point et les tests des
programmes.

Des simplifications sans compromis

La programmation par contrats, à l’exemple du langage Eiffel de Bertrand Meyer, fait ainsi partie intégrante des outils du développeur. En pratique, il est question de rapprocher les spécifications du code, de manière à pouvoir
contrôler les éventuelles dérives des unes par rapport à l’autre. Ce principe de programmation aide également à vérifier la validité du code à l’exécution, voire au moment de la compilation, généralisant ainsi la pratique des tests
unitaires.‘ Il fallait concevoir un langage aussi performant à l’exécution que C/C++ [pas de machine virtuelle, NDLR], tout en réduisant autant que possible les temps de
compilation ‘,
dit Walter Bright, l’initiateur du projet et dirigeant de l’éditeur Digital Mars. Selon lui, tout ce que fait D peut être réalisé en C++, d’une manière ou d’une autre, en utilisant
des macros ou des templates. Mais l’accès à ces moyens est simplifié dans D et son code s’avère beaucoup plus clair et maintenable.Certaines fonctions classiques du C/C++ sont par ailleurs abandonnées, comme les inclusions classiques du C ?” qui obligent potentiellement l’analyseur à traiter plusieurs fois les mêmes fichiers ?” ou le
préprocesseur, ce traitement étant réalisé au sein du langage lui-même. En matière d’objets, D n’accepte pas l’héritage multiple, et les programmes ne peuvent être liés au modèle objet C++, jugé bien trop complexe par le
concepteur. Néanmoins, de nombreuses fonctions utiles sont présentes. Ainsi le ramasse-miettes évite-t-il une gestion complexe de la mémoire, source conséquente d’erreurs.De même, D supporte les célèbres pointeurs du C, aussi puissants qu’ils sont dangereux, et propose des voies alternatives qui aident à s’en affranchir dans la plupart des cas. La simplification du traitement des tableaux
par rapport à C est aussi une avancée majeure. Alors que C traite séparément les données du tableau et ses informations de dimension, D propose, lui, une syntaxe claire, notamment pour le traitement des chaînes de caractères. Enfin, le langage
s’appuie sur une communauté vivace, que ses qualités ne peuvent que renforcer.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Philippe Davy