Le langage D renove 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.
http://dgcc.sourceforge.net/
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 sappuie sur une communauté vivace, que ses qualités ne peuvent que renforcer.p.davy@01informatique.presse.fr www.digitalmars.comhttp://dgcc.sourceforge.net/
Votre opinion