Laden...

Nach C kommt D oder wie?

Erstellt von capcom vor 16 Jahren Letzter Beitrag vor 16 Jahren 2.226 Views
C
capcom Themenstarter:in
103 Beiträge seit 2007
vor 16 Jahren
Nach C kommt D oder wie?

Hallo Leute,

heute bin ich auf eine noch sehr junge Programmiersprache namens D aufmerksam geworden. Entwickler.Press bietet ein Buch an, in dessen Beschreibung es da heißt:

[...] Die Sprache D bringt die Vorteile von C, C++, C#, Java und anderen Sprachen zusammen – verzichtet dabei jedoch auf die Makel. D kann bei der Performance C durchaus das Wasser reichen und hat dabei einige interessante Features, die andere Sprachen nicht bieten. Wenn Sie bereits C, Java oder C# kennen, können Sie mit dieser neuen Sprache effektiver arbeiten. [...]
(Zitat von
>
)

So eine Aussage ist sicher guter Stoff für einige Diskussionen 😉
Habt Ihr schon was von dieser wundersamen Sprache gehört oder schon irgendwelche Erfahrungen damit? Klingt ja schon irgendwie ziemlich hochtrabend. Was sind Eure Meinungen dazu?

Weiterer Link zum Thema: http://www.digitalmars.com/d/index.html

Freundliche Grüße,
capcom

M
303 Beiträge seit 2006
vor 16 Jahren

D wurde für die systemnahe Programmierung konzipiert, womit ein Vergleich mit C# schonmal hinkt.
Abgesehen davon zitierst du keinen neutralen Erfahrungsbericht sondern einen Werbetext für ein Buch zur Programmiersprache D. Ist doch irgendwo logisch, dass die Sprache da ein wenig hochtrabend beschrieben wird oder? Das Buch soll ja Interesse wecken.

Letztendlich bietet D aber nichts Spektakuläres gegenüber anderer Sprachen.

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo capcom,

Die D Programmiersprache!
D ist da

herbivore

O
778 Beiträge seit 2007
vor 16 Jahren

Hier gibts noch ein kostenloses ebook dazu: http://www.steinmole.de/d/d_buch.pdf

Bin mal gespannt, wie sich die Sprache entwickelt. Ich glaube aber nicht, dass sie IL Konkurrenz machen kann (und damit letztendlich auch C#). Es sei denn MS stellt dafür dann auch ne .NET-Portierung bereit (D#?)

564 Beiträge seit 2005
vor 16 Jahren

Diese Aussage ist einfach nur sehr euphemistisch.
D?
Die Programmiersprache D
Die sprache D

C
capcom Themenstarter:in
103 Beiträge seit 2007
vor 16 Jahren

Richtig. Und irgendwie wird jede neue Sprache anfänglich damit gepriesen, sich der Laster der Vorgänger entledigt zu haben, aber irgendwo haben sie doch alle ihre Macken. Zudem schätze ich einen gewissen Komfort. D bedeutet ciao IDE, ciao .NET Klassen und Hi Texteditor und Konsolen-Compiler. Das Baby soll mal noch bißchen wachsen, und dann schauen wir vielleicht nochmal.

S
8.746 Beiträge seit 2005
vor 16 Jahren

Totgeborener Zwitter. Das schaut sich kein C/C-Jünger auch nur mit ner halben Arschbacke an. Die sagen: "Ich traue eh keinem GC über den Weg und wenn ich das bei D weglasse kann ich auch gleich weiter C coden. Und überhaupt: Wo sind meine schönen Makros?". Dann faseln die noch was von Smart-Pointern und STL und was wars dann.

Die Verbreitung von Programmiersprachen erfolgt eher in Schüben als in schleichenden Evolutionen, so zumindest meine Erfahrung in den letzten 20 Jahren. Die jeweils nächste Stufe muss so extrem gravierende Vorteile bieten, dass man bereit ist, alte Gewohnheiten und Erfahrungen über Bord zu werfen und von vorne anzufangen. Vor 10 Jahren hätte D vielleicht ne Chance gehabt, aber jetzt ist es technologisch eigentlich überholt, bevor es auf dem Markt Fuß fassen konnte.

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo zusammen,

ich habe mir mal das Probekapitel des Buchs "Programmieren in D" von Tobias Wassermann und Christian Speer von www.entwickler-press.de heruntergeladen. Was ich da gelesen habe, hat mich ziemlich abgeschreckt. Ich kann ganz klar sagen: Alles was anders war als in C#, war schlechter gelöst als in C#. Auf Vorteile der Sprache D bin ich in diesem Kapitel nicht gestoßen, dafür auf eine Menge Nachteile.

So sind z.B. alle Member - also auch Instanzvariablen - per default public. So ein Quatsch. Das widerspricht einem der Grundprinzipien der Objektorientierung: Information Hiding. Danach wäre natürlich alles erstmal private, außer ich sage explizit, das ist eine Information, die ich ausdrücklich nach außen zur Verfügung stellen will.

Auch der Sinn, warum den Konstruktor der Oberklasse an einer beliebigen Stelle innerhalb des Konstruktor der Unterklasse aufgerufen werden kann, erschließt sich mir nicht. Im Gegenteil: Das ist nur eine Fehlerquelle. So steht denn auch in dem Buch: "Man muss lediglich darauf achten, dass man super() verwendet, bevor man auf Variablen zugreift, die durch die Basisklasse innerhalb des Konstruktors gesetzt werden". "Lediglich" ist gut. Man muss unötigerweise auf etwas achten, was einem gar keine Vorteile bringt.

Die Sprache mach mir nach diesem Kapitel den Eindruck, dass sie es dem Programmierer auf sehr fragwürdige Weise möglichst bequem machen will ... zu Lasten der Sicherheit und Korrektheit der Programme.

herbivore

S
8.746 Beiträge seit 2005
vor 16 Jahren

Mal davon abgesehen, bekommt man letztlich mit D nicht mehr als mit einem C++ und der Boost-Lib: Beides basiert auf einem GC mit Reference Counting. Das kommt den C-Codern nahe, weil die Finalisierung deterministisch ist, perfomt aber wie ein Sack Schrauben, und das kommt den C-Jungs überhaupt nicht nahe...