Eleganter programmieren: D ist da

Die neue, frei erhältliche Programmiersprache vereint die Vorteile von C, C++, C# und Java.

In Pocket speichern vorlesen Druckansicht 984 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Oliver Lau

Walter Bright hat die Version 1.0 seiner objektorientierten Programmiersprache D fertiggestellt. Damit steht Programmierern nach bald siebenjähriger Entwicklungsdauer eine Sprache zur freien Verfügung, die die Stärken von C++ mit denen von Java und C# vereinen soll – ohne historischen Ballast.

D verspricht hohe Performance, sparsamen Umgang mit Ressourcen sowie gute Les- und Wartbarkeit durch leicht verständlichen und zugleich kompakten Code. Dabei kommt D zugute, dass bei der Implementierung keine Notwendigkeit bestand, mit C oder C++ syntaxkompatibel zu bleiben. Um den Compilerbau zu vereinfachen, haben sich die D-Entwickler für eine kontextfreie Syntax entschieden. Das erlaubt das Parsen des Quellcodes, ohne die Semantik der Symbole berücksichtigen zu müssen.

Und noch etwas verschlankt den D-Parser: der Wegfall des von C und C++ bekannten Präprozessors. An die Stelle von Makros für Konstanten und Funktionen treten konstante Variablen und einfache Funktionen. Dies führt zu einer konsistenteren Syntax. Auch die Trennung des Quelltextes in Header- und Quelldateien ist nicht mehr notwendig.

Wer von C, C++, C# oder Java kommt, muss sich dennoch nicht auf eine komplett neue Sprache einstellen. Die D-Syntax lehnt sich am ehesten an C++ an – ohne das Kreuz der Mehrfachvererbung. Delegaten erlauben den indirekten Aufruf von Methoden, freie Funktionen lockern das Korsett objektorientierter Programmierung hin in Richtung klassischer C-Programmierung, Templates gestatten die Definition von Klassen mit generischen Typen. Unit-Tests helfen den Code fehlerfrei zu bekommen. Design by Contract (DBC) sorgt mit Vor- und Nachbedingungen in Funktionen und Methoden für ein besseres Zusammenspiel der Einzelteile eines Programms. Die Phobos genannte Laufzeitbibliothek bringt eine Fülle häufig benötigter Routinen mit, etwa für Dateizugriffe, Datumskonvertierungen, Gleitkommaarithmetik, reguläre Ausdrücke, Socket-Kommunikation oder Thread-Programmierung.

Die Version 1.0 steht ab sofort für Windows und Linux zum Download bereit. Das Changelog listet die jüngsten Änderungen und Bugfixes auf. (ola)