# Programmation D/Avant de commencer

* Avant de commencer
* Votre premier programme
* Éléments de base du langage et programmation impérative
* Programmation orientée objet
* Éléments avancés du langage
* Outils
* Annexes
* Conclusion
* Avant de commencer
* Votre premier programme
* Éléments de base du langage et programmation impérative
* Programmation orientée objet
* Éléments avancés du langage
* Outils
* Annexes
* Conclusion
[ Modifier le sommaire ]

## Introduction

Le langage D est un langage de programmation système qui se présente comme le successeur des langages C et C++. Son objectif est d'allier la puissance du C et du C++ à la simplicité et à la productivité de langages comme Ruby et Python. Le célèbre slogan lié à ce langage est :
Si un langage peut récupérer 90 % de la puissance du C++ mais seulement 10 % de sa complexité, cela vaut largement le coup.
Walter Bright
Les paradigmes supportés par ce langage sont les suivants :
* impératif
* orienté objet
* fonctionnel
* méta-programmation
* programmation par contrat

## À qui s'adresse ce langage ?

* Aux programmeurs qui sont lassés d'utiliser des analyseurs de codes ou des outils similaires pour réussir à éliminer des bogues ;
* À tout ceux qui en ont assez des messages d'erreurs incompréhensibles lors de la compilation de code C++ ;
* À tout ceux qui veulent utiliser la programmation objet sans avoir la complexité du C++ ;
* Aux codeurs qui aiment la puissance du C++ mais qui sont frustrés par le temps de débogage nécessaire ;
* À ceux qui veulent intégrer les tests unitaires et activer des sections de code en mode débogage ;
* Aux équipes qui écrivent des applications avec un million de lignes de code ;
* Aux développeurs qui pensent que le langage doit fournir suffisamment de fonctionnalités pour pallier la nécessité de continuer à manipuler les pointeurs ;
* Aux programmeurs qui ont besoin de manipulations avancées sur les nombres. Le langage D intègre de nombreuses fonctionnalités pour cela ;
* Aux équipes qui doivent écrire en partie leurs applications dans des langages de script comme Python et Ruby pour gagner du temps de développement.

### À qui ne s'adresse pas ce langage ?

Aux puristes : D est un langage orienté pratique et non théorique, chaque fonctionnalité est pensée avec cet objectif plutôt qu'un idéal théorique. Par exemple, D est construit et fournit une sémantique de façon à éliminer la nécessité de l'utilisation des pointeurs pour les tâches ordinaires. Mais les pointeurs sont toujours là, parce que leur utilisation reste parfois obligatoire.

## Ce dont vous avez besoin

Sous GNU/Linux, utilisez votre gestionnaire de paquets pour installer
* Le compilateur ldc
* La bibliothèque standard du langage D tango-devel

### Fedora 14

La célèbre distribution Fedora garde un temps d'avance sur ses concurrentes. En effet elle propose à ses utilisateurs un environnement de travail pour le langage D dernier cris. De nombreux jours de travail ont permis des améliorations significatives autour de ce langage. Et comme à son habitude fedora vous propose les dernières versions de ces outils. Avec un compilateur basé sur LLVM nommé ldc et une bibliothèque standard pour développer des applications en D : tango. Contrairement aux autres distributions les outils sont pleinement fonctionnels et activement maintenu. De plus le travail de la communauté Fedora ne se sont pas arrêté en si bon chemin ils ont intégrés également :
* la bibliothèque mango qui tourne autour du réseau
* la bibliothèque derelict qui permet de développer des applications OpenGL en D

## Les éditeurs pour programmer en D
### Emacs

Pour cela, vous avez besoin de ce fichier: Fichier pour ajouter le support D dans Emacs.
* Démarrer emacs, puis faites "ouvrir" ou "créer un fichier D"
* Taper M-x (méta x soit alt + x)
* Entrer d-mode (valider avec la touche entrée)

### Gedit

Gedit ne requiert par de paramétrage particulier pour programmer en D; le langage D est nativement reconnu, ce qui active automatiquement la coloration syntaxique.

### Scite

Il possède lui aussi la coloration syntaxique. Petite particularité: l'explorateur de fichier possède un filtre pour les fichiers sources et ne considère pas les fichiers .d comme tels ! Par conséquent, vous ne pouvez pas les voir. Il suffit de permuter le filtre sur "tout fichier".

### Vim

Ce célèbre éditeur n'a rien à envier à ses semblables et propose lui aussi nativement la coloration syntaxique pour le langage D.

### Geany

Geany supporte nativement la coloration syntaxique et il est possible de lui faire utiliser ldc.

### Code::blocks

Cet IDE supporte le langage D et propose l'auto-complétion et quelques autres fonctionnalités. Le compilateur ldc est supporté à partir de la révision 6562.

#### Pour Fedora

Installer le dépôt codeblocks (merci à sharkcz's ) suivant votre version de Fedora:
* fedora 12|en
* fedora 13|en
* fedora 14|en

### Eclipse et le plugin DDT

À travers le plugin DDT (D Development Tools) pour Eclipse, on retrouve le confort de l'utilisation d'un IDE supportant le langage D. Tout comme Code::blocks, il ne supporte pas nativement le compilateur ldc. Vous pouvez consulter la documentation pour installer et configurer DDT.

## Pour exécuter un programme

Si le programme source se nomme toto.d et se trouve dans votre répertoire courant, les deux lignes suivantes permettent de le compiler puis de l'exécuter: