Erfahrungen mit D?



  • http://www.digitalmars.com/d/ <-

    Nachfolger von C++.
    Nach den Featureaufzählungen hier: http://www.digitalmars.com/d/comparison.html

    ist dies ne art wiederzusammenführung von C++ & Java-C#

    Weshalb hört mann kaum was von D?
    Wer hat Erfahrungen sammeln könne?



  • Ich hab vorher zwar noch nie was von der Sprache gehört, aber es verwundert mich eigentlich auch nicht.
    Es gibt tausende von Sprachen, warum sollte man von allen schon mal gehört haben?
    Mir stellt sich immer die Frage, bevor ich eine neue Sprache lerne: warum? Was für Vorteile ergeben sich aus der Sprache und was viel wichtiger ist: welche Ressourcen stehen mir zur Verfügung wenn ich mal Probleme habe? Und diese sind bei den unbekannten Sprachen doch recht dürftig.
    Warum also eine neue Sprache lernen? Mir ist in C++ noch nichts untergekommen, was ich damit nicht lösen konnte. Zugegeben, manchmal ist es in anderen Sprachen wesentlich einfacher, aber wie heißt es doch so schön: 'Für jede Aufgabe das richtige Tool'. Und wenn man die Standard-Sprachen kann, bzw. programmieren kann, könnte man auch schnell auf eine andere Sprache wie D umsteigen. Aber ich persönlich sehe nicht den Sinn darin und tausende von anderen Programmierern auch nicht, weshalb man wohl bisher nichts von D gehört hat.
    Würde ein großer Konzern dahinter stehen, würde das ganze wohl wieder komplett anders ausfallen (siehe C#).



  • D hat keine Mehrfachvererbung => ist Müll. Punkt.



  • Original erstellt von <C++ler>:
    D hat keine Mehrfachvererbung => ist Müll. Punkt.

    Komisch! Keine neuere Sprache hat Mehrfachvererbung! 😕 Java hat es nicht, C# hat es nicht, D hat es nicht! 🙂 Woran das wohl liegen mag?! 🙂



  • es gibt noch nichteinmal einen guten D Compiler (nur einen in der alpha phase)...

    D ist NICHT DER NACHFOLGER VON C++

    D ist eine ansich schöne sprache, aber sie ist noch nichteinmal wirklich fertig!

    D ist nicht (bzw. noch nicht) standardisiert.



  • Original erstellt von Gregor:
    Komisch! Keine neuere Sprache hat Mehrfachvererbung! 😕 Java hat es nicht, C# hat es nicht, D hat es nicht! 🙂 Woran das wohl liegen mag?! 🙂

    HumeSikkins kann dir bestimmt viele Vorteile von Mehrfachvererbung aufzählen.

    Aber schau dir mal die WTL oder Design Patterns an!



  • Frage: Welches Design-Pattern braucht Mehrfachvererbung?

    Ich vermisse Mehrfachvererbung bei Java zumindest nicht. Ich kann mich nur an ein einziges Mal erinnern, wo ich kurze Zeit gerne Mehrfachvererbung gehabt hätte, aber da hat es sich dann sehr schnell herausgestellt, dass ich mir nen mehrfachen "Deadly Diamond of Death" bauen wollte. Insofern ist es gut, dass mich Java davor geschützt hat! 🙂





  • @Gregor:
    Ich sehe keinen Nachteil darin, dass mir eine Sprache etwas erlaubt was wahrscheinlich ich nicht brauche.
    Ich sehe aber einen Nachteil darin, dass mir eine Sprache etwas nicht erlaubt was ich wahrscheinlich nicht brauche.

    Denn vielleicht fällt mir mal eine situation zu, in der ich MI brauche - dann bin ich froh dass ich es habe und keine dirty workarounds machen muss.

    Wenn mir diese Situation nie zufällt, dann ist es egal ob die sprache mir MI erlaubt oder nicht.



  • Ruby bietet ebenso keine Mehrfach vererbung.
    Bei C# hat mann sich ebenso dagegen entschieden.

    Wegen Nachfolger von C++:
    Ich glaube es wird zumindest von deren Seite behauptet.
    Inwieweit das Wahr werden wird zeigt wohl nur die Zeit.
    Dennoch kein Grund so zu schreien Shade of Mine 😉



  • Shade hat nie geschrien. SCHREIEN SIEHT SO AUS.

    Vielleicht kennt <C++ler> nicht das Prinziep der Interfaces, was tatsächlich normalerweise ausreicht, was nicht heißen soll, das MI unnütz wäre.

    Weshalb hört mann kaum was von D?

    Weshalb hört man kaum was von BETA, warum aber viel von BrainF*ck? Manche Sprachen haben Tradition, manche haben eine große Firma hinter sich, manche haben einen ganz besonderen anreitz und manche sin 08/15-Ware, die kaum einen interessiert.



  • NICHT DER NACHFOLGER VON C++



  • Warum ich 'nicht nachfolger' geschriehen habe, sollte klar sein.

    Jedes Monat kommt jemand an und sagt XXX ist der Nachfolger von C++

    Obs jetzt D, C#, Java oder sonstwas ist...
    das nervt.
    ich hoffe halt dass die leute es irgendwann lernen werden, dass sich nachfolger nicht durch gleiche syntax definiert.

    IMHO sollte man einmal die Syntax revolutionieren anstatt soviele 'neue' features zu bringen, die es eh schon seit eh und je gibt.



  • Welches Design-Pattern braucht Mehrfachvererbung?

    Z.B. "Stairway to heaven". Allerdings ist die Frage so IMHO ziemlich schwachsinnig.
    Auf der anderen Seite gibt es DPs, die zusammen mit MI leistungsvoller sein können. Ein gutes Beispiel ist z.B. Observer. Hier hat man schnell mal *zwei* Implementationsklassen von denen man erben möchte, *ohne* dass dabei gleich der DDD rauskommt.
    Ein schönes Beispiel beschreibt Robert C. Martin in seinem Artikel: "Java vs. C++: A Critical Comparison"

    Komisch! Keine neuere Sprache hat Mehrfachvererbung! Java hat es nicht, C# hat es nicht, D hat es nicht! Woran das wohl liegen mag?!

    Ich denke nicht, dass dies ein gültiges Argument gegen Mehrfachvererbung an sich ist. Es ist eine Entscheidung gegen eine mit MI verbundene Komplexität. Eine Entscheidung die sich Java (und C#?) z.B. durch seine Single-Rooted-Hierarchie-Philosophie gut leisten kann. In anderen Sprachen sieht das schon wieder ganz anders aus. In C++ z.B. wäre das Fehlen von MI äußerst ärgerlich. Templates, Policies und MI sind hier ein mächtiges Werkzeug. Und Workarounds ein Krampf. Das ist aber natürlich kein generelles Argument für MI. Es ist nur ein Argument für MI in C++.

    Prinzipiell ist es mit MI wie mit vielen mächtigen Werkzeugen. Wenn man es braucht, dann braucht man es richtig. Hat man dann keine MI zur Verfügung, sehen die Workaround meist sehr hässlich aus (schöne Beispiele dafür findet man u.A. in Herb Sutters "More Exceptional C++"). Auf der anderen Seite kann man mit mächtigen Werkzeugen aber auch immer mächtig viel unsinn machen.

    HumeSikkins kann dir bestimmt viele Vorteile von Mehrfachvererbung aufzählen.

    Nicht wirklich. Für mich sind die Vorteile von MI genau die gleichen für die von SI. Richtig eingesetzt lassen sich damit Abhängigkeiten und Komplexität verringern. Und genau wie bei SI führt unsachgemäße Verwendung von MI zu höheren Abhängigkeiten und steigender Komplexität.


Anmelden zum Antworten