Zum Inhalt springen

D (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 20. November 2009 um 09:55 Uhr durch TUFKAUP (Diskussion | Beiträge) (Änderungen von 84.162.81.247 (Diskussion) rückgängig gemacht und letzte Version von YMS wiederhergestellt). Sie kann sich erheblich von der aktuellen Version unterscheiden.
D
Basisdaten
Paradigmen: imperativ, objektorientiert, generisch, modular
Erscheinungsjahr: 2007
Designer: Walter Bright
Entwickler: Walter Bright
Aktuelle Version: 1.045 (stable), 2.030 (alpha)  (11. Mai 2009[1][2])
Typisierung: Stark, statisch
Wichtige Implementierungen: DMD[3], GDC[4], LDC
Beeinflusst von: C, C++, Java, C#
dlang.org

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.

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.

D ist 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 mehrere 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[6], Dang[7] und der LDC[8], 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. Darüber hinaus gibt es noch für Eclipse mit dem Plugin Descent[9] Unterstützung für D.

Zudem gibt es in D geschriebene IDEs, wie z. B. Poseidon. Letztere unterstützt Autovervollständigung, Refactoring und hat einen integrierten Debugger.

D Anwendungen können mit jedem beliebigen C/C++ Debugger debuggt werden, wie z.B. 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

Quellen

  1. D 1.0 Change Log, http://www.digitalmars.com/d/1.0/changelog.html
  2. D 2.0 Change Log, http://www.digitalmars.com/d/2.0/changelog.html
  3. a b DMD (Digital Mars D): DMD
  4. a b GDC (GNU D Compiler):GDC
  5. Heise Online: Eleganter programmieren: D ist da, 3. Januar 2007 – 14:52
  6. DIL-Projektseite
  7. Dang-Projektseite
  8. LDC-Projektseite
  9. Descent-Projektseite

Literatur

  • Tobias Wassermann, Christian Speer: Programmieren in D, 1. Auflage (November 2007), 165 Seiten, entwickler.press, ISBN 978-3939084693.