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
@nogcund 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
rdmdmit Shebang-Zeile#!/usr/bin/env rdmddie schnellste Lösung.
Verwandte Grundlagen: C/C++-Befehle, Rust-Befehle, Go-Befehle, Odin-Befehle, Ada-Befehle.