Actualité informatique
Test comparatif matériel informatique
Jeux vidéo
Astuces informatique
Vidéo
Télécharger
Services en ligne
Forum informatique
01men
01net Pro Entreprise informatique
Logiciel
Matériel
FAI
Sécurité
Médias
Droit et conso
Techno
Société
Vu sur le Web
Business
Chat

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.

Une compilation des fonctions de ses aînés

agrandir la photo

Le langage D concentre de manière élégante de nombreuses fonctions accessibles partiellement dans les autres langages.

Source : Digital Mars

Pour en savoir plus

Le langage D est édité par Digital Mars.
Le frontal de compilation est disponible sous une double licence GPL ou Artistic.
Le ' back end ' est commercialisé par l'éditeur.
Le site de l'éditeur : www.digitalmars.com
La page du projet de frontal D sur Sourceforge : http://dgcc.sourceforge.net/

envoyer
par mail
imprimer
l'article