Langage D

Langage D

D (langage)

Page d'aide sur l'homonymie Pour les articles homonymes, voir D.
Il y a eu plusieurs langages de programmation appelés D durant l'histoire de l’informatique.
  • un langage (développé dans cet article) a été créé par Walter Bright.
  • un autre langage, appelé Dialog Manager, est présenté dans un autre article.
  • D est aussi un langage de programmation pour piloter le système de trace DTrace.

D est un langage de programmation impératif orienté objet. Il a été créé par Walter Bright en décembre 1999 avec sa société Digital Mars, et il est présenté comme le successeur du C, d'où son nom (le langage C lui-même succédait au langage B, qui quant à lui ne dérive pas d'un langage A, mais du BCPL. Avant la création du C++, on se demanda longtemps si le successeur du C s’appellerait D, selon l’ordre alphabétique, ou P, selon l’ordre des lettres dans le nom de BCPL).

Il s’inspire du langage Java avec lequel il partage la notion de « ramasse-miettes » et d’héritage simple ; ses programmes, en revanche, sont compilés en langage machine.

Sommaire

L’origine

Walter Bright a imaginé ce langage en s’apercevant que l’expressivité du C ou du C++, qui leur donne leur puissance de traitement, rend leur utilisation sensible.

En particulier :

  • la création et la maintenance de compilateur est ardue.
  • la syntaxe globalement mal comprise introduit des bugs par simple méconnaissance ou inattention.

Pour pallier ces problèmes, le langage D possède une syntaxe épurée du C dont l’un des effets est de rendre la compilation plus rapide. Ainsi, couplé avec des notions modernes incluses dans le langage, la productivité est améliorée.

« Si un langage peut récupérer 90 % de la puissance du C++ mais seulement 10 % de sa complexité, cela vaut largement le coup »[1] ~ Walter Bright

D est en version 2.00 (depuis le 17 juin 2007), et subit ponctuellement de légères modifications de spécification. Ces transformations sont réalisées exclusivement par Walter Bright, mais il prend en considération des remarques et requêtes de la communauté qui gravite autour de D.

Le compilateur est développé parallèlement avec la spécification du langage. Une partie de son code est ouvert, ce qui permet de corriger rapidement les problèmes que l’on peut rencontrer, et de réaliser son propre compilateur en utilisant une base (un des rêves de l’auteur est en effet d’en voir fleurir d’autres que le sien). Il existe actuellement pour les plates-formes Linux, Mac OS X et Windows. Une version GNU est en train de voir le jour, sous le nom de gdc.

Ses particularités

D introduit dans ses spécifications les éléments de la programmation par contrat, de test unitaire, et de vrais modules qui améliorent la qualité et facilitent la maintenance du code. Les fonctions anonymes, les structures de tableau, les « templates » et surtout le « ramasse-miettes » permet de faire de D un langage simple d’utilisation. Le langage D permet enfin de programmer en bas niveau et l’interfaçage avec des bibliothèques écrites en C.

L’objet

La programmation objet en D supporte l’encapsulation d’objet, l’héritage, le polymorphisme, le paradigme de l’héritage unique étendu par des interfaces et de vraies « propriétés ». L’instanciation se fait uniquement par référence et laisse le contrôle sur l’initialisation des attributs statiques. Tous ces points rendent le D très proche du Java et du C#.

Le codage bas niveau

D permet à l’opposé du C# et du Java d’embarquer du code assembleur dans les programmes. Cette particularité contrarie les possibilités de portabilité du code, mais par contre permet d'utiliser le langage pour accéder aux périphériques comme le font les systèmes d'exploitation ou les pilotes, ou de faire de puissantes optimisations de code en accédant à des instructions spéciales du microprocesseur.

Le ramasse-miettes

Le ramasse-miettes dans D est souple et permet au programmeur de libérer lui-même sa mémoire. Ce gestionnaire a été introduit pour faciliter la programmation de tous les jours et peut être désactivé pour réduire la consommation des ressources processeur selon les besoins de l’application développée.

Exemples

Le fameux « Hello World », exemple de référence pour tous les langages :

import std.stdio;
int main () {
    writefln("Hello world!");
    return 0;
}

Et un second exemple :

// Programme en D qui affiche les arguments de la ligne de commande.
import std.stdio;
int main(char[][] args) {
    foreach (int i, char[] arg; args) {
       writefln("args[", i, "] = '", arg, "'");
    }
    return 0;
 }

Les versions récentes telles que la 1.0 ou la 2.0 acceptent également le type string comme un alias à char[].

Notes et références

  1. « If a language can capture 90% of the power of C++ with 10% of its complexity, I argue that is a worthwhile tradeoff. »

Liens externes

Sites Internet

Compilateurs

  • Portail de la programmation informatique Portail de la programmation informatique
Ce document provient de « D (langage) ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Langage D de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать курсовую

Regardez d'autres dictionnaires:

  • langage — [ lɑ̃gaʒ ] n. m. • v. 1160; lengatge v. 980; de langue I ♦ 1 ♦ Fonction d expression de la pensée et de communication entre les hommes, mise en œuvre au moyen d un système de signes vocaux (parole) et éventuellement de signes graphiques… …   Encyclopédie Universelle

  • langage — Langage, Sermo, Oratio. Un bon langage, Pura oratio. Un langage commun et vulgaire, Proletarius, vel Plebeius sermo. Langage coulant, qui n a pas grand ornement, Teres oratio. Un langage coulant qui n est point lié par vers, Prosa. Un langage… …   Thresor de la langue françoyse

  • langage — Langage. s. m. Idiome. Langue que parle une Nation. Le langage des Turcs. le langage Persan. personne n entend ce langage. un langage Barbare. un langage inconnu. il entend la pureté du langage. On dit, que La Poësie est le langage des Dieux. Il… …   Dictionnaire de l'Académie française

  • Langage — (frz.) bezeichnet bei Ferdinand de Saussure einerseits die menschliche Rede als allgemeinen, vortheoretischen Oberbegriff zu langue (dem Regelsystem der Sprache) und parole (der Ausübung des Sprechens); andererseits und zur Unterscheidung… …   Deutsch Wikipedia

  • langage — langage, ed obs. forms of language, ed …   Useful english dictionary

  • Langage C — C (langage) Pour les articles homonymes, voir C. C …   Wikipédia en Français

  • Langage c — C (langage) Pour les articles homonymes, voir C. C …   Wikipédia en Français

  • langage — (lan ga j ) s. m. 1°   Proprement, emploi de la langue pour l expression des pensées et des sentiments. Recherches sur l origine du langage. •   Le langage est tellement ce qui perfectionne toutes les facultés de l âme que la perfection de ces… …   Dictionnaire de la Langue Française d'Émile Littré

  • LANGAGE — s. m. Emploi que l homme fait des sons et des articulations de la voix, pour exprimer ses pensées et ses sentiments. On a publié de nombreux écrits sur l origine du langage.   Il se dit, par extension, Des cris, du chant, etc., dont les animaux… …   Dictionnaire de l'Academie Francaise, 7eme edition (1835)

  • Langage —  Pour l’article homonyme, voir Langage humain.  Le langage est un ensemble de signes (vocaux, gestuel, graphiques, tactiles, olfactifs, etc.) doté d une sémantique, et le plus souvent d une syntaxe (mais ce n est pas systématique[1]).… …   Wikipédia en Français

  • Langage C++ — C++ Apparu en 1985 (dernière révision en 2003) Auteur Bjarne Stroustrup …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”