- Programmiersprache D
-
D Paradigmen: imperativ, objekt-orientiert, generisch, modular Erscheinungsjahr: 2007 Entwickler: Walter Bright Aktuelle Version: 1.037 (stable), 2.021 (alpha) (25. November 2008[1][2]) Typisierung: Stark, statisch wichtige Implementierungen: DMD[3], GDC[4] Einflüsse: C, C++, Java, C# D ist eine Programmiersprache, die sich äußerlich stark an C++ anlehnt. Ebenso wie C++ ist D für die Systemprogrammierung geeignet. D wird seit 1999 von Walter Bright entwickelt und wurde am 3. Januar 2007 in der stabilen Version 1.0 veröffentlicht.[5]
Seit dem 17. Juni 2007 gibt es einen experimentellen 2.0-er Version-Zweig, in dem die Sprache weiter entwickelt wird.
Inhaltsverzeichnis
Sprachmittel
Die Sprache D übernimmt die meisten Sprachmittel der Sprache C. Auch die C-Standardbibliothek ist Bestandteil von D. Dadurch besteht Kompatibilität zu in C geschriebenen Programmen. Kompatibilität mit C++ gibt es hingegen nicht.
Ebenso wie C++ ist D eine objektorientierte, imperative Programmiersprache und verfügt über Templates und überladbare Operatoren. Gegenüber C++ bietet es außerdem Design by contract, Module und eine integrierte automatische Speicherbereinigung. Letztere kann sowohl global als auch für einzelne Objekte deaktiviert und durch eine eigene Speicherverwaltung ersetzt werden.
Compiler
Es gibt zur Zeit (2008) zwei Compiler für die Sprache D, den DMD (Digital Mars D)[3] vom Erfinder Walter Bright für Windows und Linux, sowie GDC [4], eine Implementierung für GCC für verschiedene Plattformen. Des Weiteren gibt es inzwischen drei Compiler für D, die selbst in D programmiert wurden. Dies sind der DIL Compiler, Dang und der LDC, welche allesamt kompatibel zu LLVM sind.
Entwicklungsumgebungen
D wird zunehmend von verschiedenen IDEs unterstützt. Zum Einsatz kommen unter anderen die Editoren Entice Designer, Emacs, Vim, Scite, Scite4D, Smultron, TextMate, Zeus und Geany. Vim und Scite4D unterstützen Syntaxhervorhebung und Autovervollständigung. Für TextMate existiert eine Erweiterung und Code::Blocks unterstützt D teilweise. Allerdings werden Autovervollständigung und Refactoring momentan von keiner IDE für D komplett bereitgestellt.
Zudem gibt es in D geschriebene IDEs, wie zB Poseidon. Letztere unterstützt Autovervollständigung (code completion), Refactoring und hat einen integrierten Debugger.
D Anwendungen können mit jedem beliebigen C/C++ Debugger debugged werden, wie zB GDB oder WinDbg, wobei die Unterstützung für bestimmte grundlegende Sprachfeatures stark eingeschränkt ist. Ein Debugger speziell für D ist Ddbg für Windows. Der kommerzielle ZeroBUGS Debugger für Linux unterstützt D experimentell. Ddbg kann mit den verschiedensten IDEs oder von der Kommandozeile aus benutzt werden, während ZeroBUGS eine eigene GUI mitbringt.
Programmbeispiel
// Programm, geschrieben in D, das seine Parameter ausgibt import std.stdio; // importiert die Funktion writefln() void main(string[] args) { foreach(int i, string a; args) { writefln("Parameter %d = '%s'", i, a); // Jeder Eintrag im Feld args wird ausgegeben. } }
Erläuterung
Der main-Funktion werden die Parameter als ein Feld von Zeichenketten (Strings) übergeben. Ruft man dieses Programm unter Windows mit beispiel.exe -win -s auf, dann gibt es diesen Text in einem Konsolen-Fenster aus:
Parameter 0 = 'beispiel.exe' Parameter 1 = '-win' Parameter 2 = '-s'
Siehe auch: Hallo Welt in D
Weblinks
- Die Programmiersprache D bei Digital Mars (Downloads, englisch)
- dsource.org D-Projektseite (englisch)
- Manfred Hansen: Programmiersprache D. 2008, 163 S. (PDF-Datei, 1,1 MB)
Quellen
- ↑ D 1.0 Change Log, http://www.digitalmars.com/d/1.0/changelog.html
- ↑ D 2.0 Change Log, http://www.digitalmars.com/d/2.0/changelog.html
- ↑ a b DMD (Digital Mars D): DMD
- ↑ a b GDC (GNU D Compiler):GDC
- ↑ Heise Online: Eleganter programmieren: D ist da, 3. Januar 2007 – 14:52
Literatur
- Tobias Wassermann, Christian Speer: Programmieren in D, 1. Auflage (November 2007), 165 Seiten, entwickler.press, ISBN 978-3939084693.
Wikimedia Foundation.