Emploi Start-up Evénements 01 Avis d'expert Vidéos Indicateurs Distribution Telecharger Pro Livres blancs

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.
envoyer
par mail
imprimer
l'article
partager sur Viadeo
partager sur Facebook
partager sur LinkedIn
partager sur Scoopeo
partager sur Technorati
partager sur Digg
partager sur Delicious
partager sur Google
partager sur Myspace
partager sur Yahoo!

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/

publicité
à lire aussi
SUR LES MÊMES THÈMES
Trente applications Android récompensées par Google
Apple face à la grogne des développeurs iPhone
2010 sera-t-elle l’année de Ruby ?
Bada, l’OS de Samsung qui va déchaîner la tempête ?
Sécurisez vos applications Web dès leur conception
Google annonce Android 2.0 et livre un nouveau SDK
Le noyau de Symbian est désormais open source
Surveiller ses bureaux... avec un routeur Cisco
Téléphoner via Firefox va devenir banal
Un concours de développement d’applications mobiles ouvert aux étudiants
Nokia met à la disposition des développeurs un kit pour OVI
Palm ouvrira en septembre une boutique en ligne pour le Pre
Javascript et PHP, de plus en plus utilisés dans l'open source
Nokia veut-il se débarrasser lentement de Symbian?
La version iPhone du framework Mono est disponible en bêta
La communauté Debian se déchire face à une nouvelle politique de développement
Microsoft ouvre son « AppStore » aux développeurs
Créer des extensions Firefox devient plus simple
Microsoft fournit gratuitement sa méthode de développement sécurisé
Une API pour Google Analytics
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Tous droits réservés © 1999 - 2009 Internext - 01net.