D?



  • Hallo,

    Ich wollte mal fragen, wie ihr zu D steht. Seht ihr schon "Konkurrenz"? 😉
    Denkt ihr über Umstieg/beides nach?

    lange....weile



  • ne D is dreck .. C++ : D

    sowie CSS : CS (Verhältnis)^^



  • Îch kenn CS nicht... _



  • Ich hab mich noch nicht näher damit befasst, aber das was ich gesehen habe wirkt wie die übliche "Sicherheitskorrektur" die ich mit C# & Java bereits bekomme, auch wenn D angeblich wieder eine Systemnahe Sprache sein soll.

    Sind sicher auch ein paar nette Sachen dabei, aber ich denke nicht dass da viel kommt.



  • Einfach mal die Suchfunktion bemühen. Gab schon einige Threads darüber. Kurz zusammengefasst, D bietet im Vergleich zu C++ nichts neues. Teilweise beschnitten, zB fehlende Mehrfachvererbung. Der Rest ist fast ausschliesslich semantischer Zucker. Über die Syntax lässt sich teilweise auch diskutieren.



  • groovemaster schrieb:

    Einfach mal die Suchfunktion bemühen. Gab schon einige Threads darüber. Kurz zusammengefasst, D bietet im Vergleich zu C++ nichts neues. Teilweise beschnitten, zB fehlende Mehrfachvererbung. Der Rest ist fast ausschliesslich semantischer Zucker. Über die Syntax lässt sich teilweise auch diskutieren.

    OK das dekt sich so ziemlich mit dem was ich gesehen habe.

    Von wegen Templates / TMP soll D ja angeblich besser sein, ist da irgendwas schon an Erfahrung gemacht worden?



  • groovemaster schrieb:

    Einfach mal die Suchfunktion bemühen. Gab schon einige Threads darüber. Kurz zusammengefasst, D bietet im Vergleich zu C++ nichts neues.

    Na ja, das ist nicht ganz korrekt. Ich habe in C++ noch keine Invariants, Unit Tests, Contract Programming, Scopes, Mixins und Properties gesehen.
    Aber hier gab's auch schon einen Thread dazu: http://www.c-plusplus.net/forum/viewtopic-var-t-is-183293-and-highlight-is-.html

    Es wird von mir auch demnächst etwas umfassendes zu D im Magazin geben.



  • Es wird von mir auch demnächst etwas umfassendes zu D im Magazin geben.

    Mal abwarten...



  • groovemaster schrieb:

    Kurz zusammengefasst, D bietet im Vergleich zu C++ nichts neues. Teilweise beschnitten, zB fehlende Mehrfachvererbung. Der Rest ist fast ausschliesslich semantischer Zucker. Über die Syntax lässt sich teilweise auch diskutieren.

    Nichts neues?

    GC, nested functions, function literals, lazy evaluation, nested classes, ... link



  • Ich finde, der iX-Artikel (6/2007) zum Thema brachte es (im letzten Absatz!) ganz gut auf den Punkt:

    Sprachen wie Ada, die ebenso leistungsfähig sind wie D und noch dazu einen sauberen Sprachentwurf aufweisen, dürften hier in einer anderen Liga spielen.

    (Hervorhebung von mir.)

    => D ist ein Haufen ganz netter Features, aber unprofessionell zusammengeworfen und damit letztendlich recht belanglos.



  • hab mal nen artikel über D gelesen und das fazit war, dass die sprache kaum unterstützung von der industrie hat

    solange sich das nich ändert lässt sie sich auch nur schlecht einsetzen



  • finix schrieb:

    GC, nested functions, function literals, lazy evaluation, nested classes, ... link

    Hey, wo sind denn die restlichen Spalten der Tabelle geblieben? So ein Vergleich macht nur Sinn, wenn mindestens ein "Gegner" gelistet wird.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Was wird eigentlich an der Syntax von D genau kritisiert? Es ist ja auf jeden Fall schon mal nicht schlecht, dass es eine kontextfreie Grammatik hat. Für Sprachen, die leicht zu parsen sind, können leicht sehr mächtige IDEs und andere Entwickler-Tools entwickelt werden und das ist für den Erfolg schon mal sehr wichtig.

    Ich habe jetzt aber noch nicht selber in D programmiert, vielleicht kenne ich da ein paar unschöne Sachen noch nicht?



  • D ist zwar nciht meine Lieblingssprache aber D ist meiner meinung nach gut. Auch wenn ich es nicht mehr einsetze (da es kaum externe libs dafür gibt, udn wenn doch dann in entwicklungsphase).



  • darthdespotism schrieb:

    Ich hab mich noch nicht näher damit befasst, aber das was ich gesehen habe wirkt wie die übliche "Sicherheitskorrektur" die ich mit C# & Java bereits bekomme, auch wenn D angeblich wieder eine Systemnahe Sprache sein soll.

    Ich muss ehrlich sagen das mir "richtig kompilierte" Sprachen besser gefallen als welche die nur in Bytecode kompiliert wurden und/oder eine Virtual Maschine/Framework brauchen um laufen zu können.
    - meistens laufen sie schneller
    - wenn man seinen Source geheim halten will kann man das so leichter realisieren
    - sie können ohne Installation und out of the box laufen (-> weniger Supportanfragen weil irgendwelche Frameworks nicht installiert sind oder Probleme machen)

    Ein Nachfolger von C++ mit einheitlicherer und einfacherer Syntax wäre schon wünschenswert gewesen.

    Aber D wird das wohl kaum wenn C++ Features entfernt wurden.



  • GPC schrieb:

    Na ja, das ist nicht ganz korrekt. Ich habe in C++ noch keine Invariants, Unit Tests, Contract Programming, Scopes, Mixins und Properties gesehen.

    Das läuft, wie ich bereits sagte, unter semantischem Zucker. Vom Ansatz her zwar nett, jedoch keine wirklichen Argumente für D. In Produktivumgebungen wird vieles davon sowieso kaum genutzt. Und wirklich neu ist das auch nicht. Das gibt es ebenfalls in anderen etablierten Sprachen, wenn auch nicht unbedingt immer mit builtin Support, aber zumindest konzeptionell und realisierbar. D ist sicherlich nicht schlecht, ich sehe nur keine Gründe, warum es von der Insdustrie grossartig unterstützt werden soll. Wie Konrad schon sagte, es wirkt wie ein bunter Haufen zusammengewürfelter Features ohne ein überzeugendes Konzept. Sicherlich sollte man so fair sein und der Sprache Zeit zum wachsen geben. C oder C++ haben sich auch nicht von heute auf morgen durchgesetzt. Ich fürchte nur, D hat diese Zeit nicht, und im Endeffekt wird sie der Sprache auch nicht sonderlich weiterhelfen.



  • Optimizer schrieb:

    Was wird eigentlich an der Syntax von D genau kritisiert?

    D hat womöglich Potential, eine ernsthafte Konkurrenz zu Java oder C# zu bilden - und hat auch einige netten Features. Aber was ich beim Überfliegen der Doku so gesehen habe, schwankt zwischen "rein syntaktische Unterschiede" (z.B. sizeof(char) vs. char.sizeof) und "nett anzusehen, aber in C++ mit geringem Aufwand realisierbar" (z.B. Vergleichsoperatoren: Ja, man braucht 8 Funktionen zum Vergleichen - aber sieben davon kann man per Template bereitstellen).

    (btw, wie kann man in D die Kommunativität eines Operators abschalten? (z.B. für Matrix-Multiplikation))



  • sap schrieb:

    Ich muss ehrlich sagen das mir "richtig kompilierte" Sprachen besser gefallen als welche die nur in Bytecode kompiliert wurden und/oder eine Virtual Maschine/Framework brauchen um laufen zu können.

    Es ist lustig, wie oft man in diese „Falle“ fällt zu denken, Programmieren habe etwas mit Meinungen oder Vorlieben zu tun. Das ist ja nur äußerst selten der Fall: Informatik, und auch Programmieren, ist eine Wissenschaft, die mit Fakten umgeht. Das soll übrigens *kein* Angriff auf Dich sein, mir passiert das auch häufig, und Du hast ja durchaus auch Argumente geliefert. Trotzdem ist die Formulierung „mir gefällt …“ selten angebracht.

    - meistens laufen sie schneller

    Das ist so nicht mehr korrekt. Das Optimierungspotential moderner VMs ist enorm. Dass C++ nach wie vor schneller ist, liegt *nicht* an der Umsetzung in nativen Code sondern vornehmlich daran, dass durch die Templates viel Rechenaufwand an den Compiler delegiert wird, wohingegen Java und die .NET-Sprachen den Aufwand eben zur Laufzeit haben. Außerdem hat C++ teilweise einfach besser designete Datenstrukturen und spart eine Menge an Heap-Verwaltungs-Overhead.

    - wenn man seinen Source geheim halten will kann man das so leichter realisieren

    Auch das ist irgendwie obsolet. Geheimhaltung des Codes erreicht man heutzutage nur, wenn man nichts (auch kein Kompilat) herausgibt – mit anderen Worten, indem man den Dienst „remote“ zur Verfügung stellt, beispielsweise als WebService.

    - sie können ohne Installation und out of the box laufen (-> weniger Supportanfragen weil irgendwelche Frameworks nicht installiert sind oder Probleme machen)

    Hier hast Du sicherlich einen gültigen Punkt, allerdings finde ich Deployment für eine VM wesentlich einfacher. Das ist aber in der Tat eine persönliche Vorliebe, die einfach auf mangelnder Erfahrung fußt.

    Ein Nachfolger von C++ mit einheitlicherer und einfacherer Syntax wäre schon wünschenswert gewesen.

    Na los! Husch, husch. 😉 Und bitte mal hier schauen: http://madrat.net/caliph/



  • CStoll schrieb:

    (btw, wie kann man in D die Kommunativität eines Operators abschalten? (z.B. für Matrix-Multiplikation))

    Kommutativität?
    Die binären Operatoren haben zwei Funktionen zum Überladen, z.B. eine die den Fall a+b und eine die b+a behandelt. Eine davon nicht implementieren.

    groovemaster schrieb:

    Das gibt es ebenfalls in anderen etablierten Sprachen, wenn auch nicht unbedingt immer mit builtin Support, aber zumindest konzeptionell und realisierbar.

    Das ist 'n anderes Feld. "realisierbar" ist zwar vieles, aber der Aufwand dahinter ist dann was anderes 😉

    Sicherlich sollte man so fair sein und der Sprache Zeit zum wachsen geben. C oder C++ haben sich auch nicht von heute auf morgen durchgesetzt. Ich fürchte nur, D hat diese Zeit nicht, und im Endeffekt wird sie der Sprache auch nicht sonderlich weiterhelfen.

    Du wirst lachen, aber ich teile diese Meinung.


Anmelden zum Antworten