D ist eine statisch typisierte Systemprogrammiersprache mit C-ähnlicher Syntax, die Walter Bright ab 2001 entwickelte und die später Andrei Alexandrescu maßgeblich mitprägte. Sie verbindet die Performance nativer Kompilierung mit modernen Konzepten wie Templates, Ranges und vertragsbasiertem Testen. Die Standardbibliothek heißt Phobos, bekannte Projekte sind das Webframework vibe.d und das Build-Tool dub.

Erste Schritte

Der Referenz-Compiler ist dmd (Digital Mars D); ldc (LLVM) und gdc (GCC) sind alternative Compiler:

dmd hallo.d            # Kompiliert hallo.d zu einer ausführbaren Datei
dmd -run hallo.d       # Kompiliert und führt direkt aus
rdmd hallo.d           # Führt .d-Dateien aus wie Skripte (auch mit Shebang)
rdmd --eval='writeln("Hallo");'   # Einzeiler direkt ausführen

Wichtige dmd-Optionen

  • -O — Optimierungen aktivieren
  • -release — Release-Build ohne Laufzeitprüfungen
  • -w — alle Warnungen anzeigen
  • -unittest — Unittest-Blöcke (Version(unittest)) kompilieren und ausführen
  • -L<option> — Option an den Linker durchreichen

Projektverwaltung mit dub

dub init projektname    # Neues Projekt mit dub.json/dub.sdl anlegen
dub add paket           # Abhängigkeit hinzufügen
dub build               # Projekt bauen (ohne auszuführen)
dub run                 # Projekt bauen und starten
dub test                # Tests ausführen
dub upgrade             # Abhängigkeiten auf aktuelle Versionen bringen

Praxis-Tipps

  • D besitzt standardmäßig eine Garbage Collection, erlaubt aber mit @nogc und manuellem Speichermanagement auch GC-freien Code.
  • UFCS (Uniform Function Call Syntax) erlaubt arr.map!(...) als Methoden-Aufruf — ein Markenzeichen der Sprache.
  • Für Skript-artige Automatisierung ist rdmd mit Shebang-Zeile #!/usr/bin/env rdmd die schnellste Lösung.

Verwandte Grundlagen: C/C++-Befehle, Rust-Befehle, Go-Befehle, Odin-Befehle, Ada-Befehle.