communityWir suchen ständig neue Tutorials und Artikel! Habt ihr selbst schonmal einen Artikel verfasst und seid bereit dieses Wissen mit der Community zu teilen? Oder würdet ihr gerne einmal über ein Thema schreiben das euch besonders auf dem Herzen liegt? Dann habt ihr nun die Gelegenheit eure Arbeit zu veröffentlichen und den Ruhm dafür zu ernten. Schreibt uns einfach eine Nachricht mit dem Betreff „Community Articles“ und helft mit das Angebot an guten Artikeln zu vergrößern. Als Autor werdet ihr für den internen Bereich freigeschaltet und könnt dort eurer literarischen Ader freien Lauf lassen.

Die Programmiersprache D PDF Drucken E-Mail
Benutzerbewertung: / 7
SchwachPerfekt 
Dienstag, den 11. Dezember 2007 um 16:09 Uhr

Dieser Artikel wird einen Überblick über die Programmiersprache D geben.

1 Einleitung

Vor kurzem ist Version 1.0 der Programmiersprache D erschienen. Sie steht mit ihren Konzepten (OOP, Metaprogrammierung, Contract-Programming, Garbage Collection) in direkter Konkurrenz zu C++, Java und C#. Allerdings gibt es so gut wie keine Literatur zu dem Thema, weshalb eine Evaluation der Sprache schwierig ist.

Im Rahmen meines Studiums habe ich eine Seminararbeit zu D geschrieben, die versucht einen Überblick über D zu geben. Man hätte sicherlich noch mehr schreiben können, allerdings hatte ich ein Seitenlimit zu beachten.

Das Ziel der Arbeit war es, einen möglichst umfassenden Blick auf die Sprache zu werfen, um eine Bewertung zu D abgeben zu können. Diese Arbeit darf man nicht als Tutorial für Programmieranfänger verstehen, es wird oft auf Merkmale von C(++) und Java verwiesen, deren Kenntnis vorausgesetzt wird.

Das erste Kapitel der Arbeit gibt es weiter unten unter Punkt 4 direkt zum reinschnuppern. Wer dann Lust auf mehr hat, kann sich das PDF downloaden.

2 Die Arbeit

Das komplette PDF kann man hier downloaden.

3 Weitere Anlaufstellen

3.1 Website zu D

D Programming Language

3.2 IRC

Netzwerk: Freenode Channel: #D

3.3 Newsgroups

  • D.gnu - GDC, the Gnu D Compiler.
  • digitalmars.D - General discussion of the D Programming Language.
  • digitalmars.D.announce - Announcements of new products, libraries, books, etc. on D.
  • digitalmars.D.bugs - Bug reports for the D compiler and library.
  • digitalmars.D.dwt - Developing the D Widget Toolkit.
  • digitalmars.D.dtl - Developing the D Template Library.
  • digitalmars.D.learn - Questions about learning D.

4 Einführung

4.1 Informationen und Geschichte zu D

D ist eine Systemprogrammiersprache, die im Dezember 1999 von Walter Bright erfunden und am 3. Januar 2007 in der Version 1.0 freigegeben wurde. D lehnt sich von der Syntax stark an C(++) an und übernimmt auch einige Konzepte der Sprache (z.B. Templates, OOP und strukturierte Programmierung). Anderes hat man hingegen verworfen (z.B. Mehrfachvererbung, umfangreiche implizite Typkonvertierung). Ideen für D hat man auch in den Sprachen Java und C# gefunden, wobei Delegates, Template Mixins und Garbage Collection die auffälligsten Beispiele sind. Mit D ist sowohl eine sehr moderne Programmierweise mit OOP, Design Patterns oder Metaprogrammierung als auch eine sehr systemnahe mittels Binärkompatibilität zur C-ABI und Inline Assembler möglich.

Da D noch nicht lange auf dem Markt ist, gibt es wenig Informationen zu D. Aus diesem Grund baut diese Seminararbeit auf der offiziellen D Language Specification auf, die im Moment die exaktesten Informationen zu D liefern kann.

4.2 D-Compiler

Es existieren derzeit zwei Compiler für D: Der offizielle Digital Mars D-Compiler (DMD) und das Frontend GNU D Compiler (GDC) für die GNU Compiler Collection (GCC). Während der DMD-Compiler nur für Windows und GNU/Linux zur Verfügung steht, existiert der freie GDC praktisch für alle Plattformen, auf denen auch eine Portierung des GCC existiert. Das umfasst z.B. *BSD, Solaris und Mac OS X.

Im Unterschied zu der Mehrheit der Compiler für andere Programmiersprachen wirft der DMD-Compiler keine Warnungen aus, sondern zeigt nur Fehler an, d.h. Warnungen werden zu Fehlern gemacht. Der Verzicht auf Warnungen resultiert daher, dass viele C-Compiler zum Beispiel sehr tolerant sind, wenn es darum geht, Pointer zu casten. In vielen Fällen erzeugt so ein Code eine Warnung, die aber vom Programmierer ignoriert wird oder aufgrund einer zu niedrigen Warnstufe einfach nicht ausgegeben wird. Da ein mit Warnungen behafteter Code aber sehr schnell zum Problem werden kann (undefiniertes Verhalten, Probleme bei Portierungen), hat man sich beim DMD-Compiler darauf festgelegt, den Programmierer mit dem Weglassen von Warnungen zur Beseitigung der heiklen Codestelle zu zwingen.

D-Code wird vom Compiler direkt in Maschinencode übersetzt, um eine möglichst hohe Ausführungsgeschwindigkeit zu erzielen.

So, weiter geht's hier.
Zuletzt aktualisiert am Sonntag, den 23. Dezember 2007 um 00:32 Uhr
 
AUSWAHLMENÜ