Zum Hauptinhalt Zur Navigation

Programmiersprache D 1.0 veröffentlicht

Sprache mit Design by Contract, Unit Tests und Template. Seit 1999 arbeitet Walter Bright an der objektorientierten Programmiersprache D zur System- und Applikationsprogrammierung, die nun in der Version 1.0 erschienen ist. Zwar ist D deutlich von C++ beeinflusst, wirft aber einigen von dort bekannten Ballast über Bord.
/ Julius Stiebert
102 Kommentare News folgen (öffnet im neuen Fenster)

Eigentlich sollte D 1.0 am 1. Januar 2007 erscheinen, doch einige Fehler veranlassten Bright den Termin kurzfristig zu verschieben. Nun gab er die Programmiersprache jedoch frei, die als Nachfolge von C gedacht ist und auch Kompatibel zu C-Quellcode sein soll. Bei der Entwicklung wurden Konzepte aus C++ mit einbezogen, D soll aber vor allem auf überflüssigen Ballast verzichten. Aber auch durch C# und Java ist D beeinflusst.

D orientiert sich in vielen Teilen an C und C++, nutzt beispielsweise dieselbe algebraische Syntax, viele Ausdrücke und auch das allgemeine Layout ist identisch. Dabei können Programmierer zwischen prozeduraler und objektorientierter sowie Template-Metaprogrammierung wählen. Auch ein Mix aus den drei Techniken ist möglich. Für die Low-Level-Programmierung haben Entwickler die Möglichkeit, über den Inline-Assembler direkt Hardware-Funktionen anzusprechen.

Auch eine automatische Speicherbereinigung (Garbage Collection) bietet D. Diese lässt sich auch für einzelne Objekte oder aber das gesamte Programm deaktivieren. Unter anderem über die Unterstützung für das C-Application-Binary-Interface (ABI) ist der Zugriff aus D auf C-Code und -Bibliotheken möglich. Mit C++ funktioniert dies hingegen nicht.

Von Eiffel stammt zudem das Design-by-Contract-Prinzip, das zu einer besseren Zusammenarbeit zwischen einzelnen Programmmodulen führen soll. Auch so genannte Unit Tests zur Fehlersuche unterstützt D.

Die Dokumentation der Programmiersprache D sowie den DMD-Compiler und andere Werkzeuge gibt es auf den Seiten von Digital Mars(öffnet im neuen Fenster) . Mit DUI(öffnet im neuen Fenster) existieren außerdem GTK+-Bindings für D und auch eine GCC-Variante für D(öffnet im neuen Fenster) existiert.


Relevante Themen