Gebt doch endlich mal richtige Gründe gegen die Sprache D an!



  • Hallo

    Deine Redezeit... schrieb:

    chrische5 schrieb:

    Hallo

    Meine Rede.

    chrische

    Du bist jetzt einfach mal ruhig!

    Darf ich dich fragen, was dich zu dieser sinnvollen Aussagen getrieben hat, Mr. Unbekannt.

    chrische



  • Warum benutzt Blizzard nicht eigentlich D?



  • Weil der D Compiler nicht mal gebacken bekommt diesen Code richtig zu übersetzen?

    class Box
    {
        int i;
        int j;
        int k;
        int l;
    }
    
    void main()
    {
        auto b = new Box();
        writefln(b.sizeof);
    }
    


  • Zeus schrieb:

    Weil der D Compiler nicht mal gebacken bekommt diesen Code richtig zu übersetzen?

    Also ich kenne D nicht so gut um mit den Code gänzlich alles anzufangen. Aber wenn D von C "inspiriert" wurde, müsste es nicht "int main" heißen, und entweder "b.sizeof()" oder "sizeof(b)" [Letzteres würde ich eher tippen].

    cu André



  • Nein die Syntax ist fehlerfrei.

    Implizierte Propterty Syntax, getter und setter mit ein Parameter können so geschrieben werden.

    Die Ausgabe ist 4 (Byte).

    Die Frage ist, was hab ich Abgefragt. b ist eigentlich ein Pointer auf eine Objekt der Klasse Box. Da D mir die Pointersemantik versteckt, sollte D auch die Frage an die Klasse delegieren, wird wohl aber nicht gemacht.

    Ok Ändern wie b.sizeof in Box.sizeof. Immernoch Ausgabe 4. Eh?



  • Ja wegen den 4 ints 🤡



  • Sollte das wirklich wegen 4 ints das Resultat sein,
    schleiche ich gleich wieder hier raus und hinterlasse
    ein leises "wtf".



  • chrische5 schrieb:

    Hallo

    muemmel schrieb:

    Hi Erhard,

    wenn wir ehrlich sind ist es mit C# genau so. Das wurde doch auch nur erfunden, weil Sun Java nicht zum verfrickeln freigegeben hat.

    Gruß Mümmel

    C#in Zusammenspiel mit .net ist wirklich nett. Gerade was das Zusammenklicken von GUI's angeht.

    chrische

    ZUm Zusammenklicken von GUIs gibt es aber schon Python mit entsprechenden GUI Bindings.

    C# ist da also überflüssig wir ein Kropf.



  • Zeus schrieb:

    Weil der D Compiler nicht mal gebacken bekommt diesen Code richtig zu übersetzen?

    class Box
    {
        int i;
        int j;
        int k;
        int l;
    }
    
    void main()
    {
        auto b = new Box();
        writefln(b.sizeof);
    }
    

    Das Problem sitzt wie immer vor dem Bildschirm.



  • Erkenner des Problems schrieb:

    Zeus schrieb:

    Weil der D Compiler nicht mal gebacken bekommt diesen Code richtig zu übersetzen?

    class Box
    {
        int i;
        int j;
        int k;
        int l;
    }
    
    void main()
    {
        auto b = new Box();
        writefln(b.sizeof);
    }
    

    Das Problem sitzt wie immer vor dem Bildschirm.

    Was ist daran falsch?



  • Zeus schrieb:

    Was ist daran falsch?

    Du hast die include Anweisung vergessen, ohne die kannst du den Code natürlich nicht compilieren. 🤡



  • Wie ist nach 5 Jahren der aktuelle Stand bezüglich Eindsatz der Sprache D?



  • Sieht durchaus besser mit IDE-Unterstützung aus, aber ich kann mir trotzdem nicht wirklich vorstellen damit programmieren zu wollen. Wenn ich mir die Code-Samples auf Wikipedia ansehe dann fühlt sich D wie eine vor 20 Jahren entwickelte Sprache an.

    MfG SideWinder



  • Ich finde D sehr schön.



  • Weil?



  • D ist ein besseres C++, insbesondere mit viel besseren Compile-Time-Möglichkeiten.

    Nur verwendet keiner C++ wegen den vielen Möglichkeiten der Templates sondern aus Legacy-Gründen, denn wer das tut ist mit D besser beraten.

    Ich kenne Leute, die verwenden D, aber das sind dann Ein-Mann-Projekte.



  • mit viel besseren Compile-Time-Möglichkeiten.

    Was heißt das? Statische Polymorphie, TMP, usw.? :hechel:



  • Ich finde die Konstruktor-Syntax sehr nett:

    this() {
                    fiber = new Fiber(&run);
            }
    

    Kommt denn bei D der ganze "low-level"-Kram nicht zu kurz? Sieht mir sehr Java-orientiert aus.



    • schrieb:

    TMP

    Braucht es nicht, jede beliebige* Funktion kann zur Compile-Zeit aufgerufen werden. Die Funktion kann D-Code als string generieren, der dann in den Quellcode "eingemixt" werden kann.

    *Gibt ein paar Einschränkungen, es dürfen keine Dateien gelesen werden und so



    • schrieb:

    Weil?

    Ich mag C++ und finde das Design von C# schön.
    D ist irgendwo in der Mitte. Gefällt mir.
    Nativer Code, schöne generische Programmierung, man hat sich bemüht viele Dinge elegant zu lösen die bei C++ eher Hacks sind. Die Möglichkeit des GCs finde ich auch nett. Muss man nicht nutzen aber man kann.
    Hat nicht einer der C++-Gurus (denke es war Alexandrescu) maßgeblich an der Weiterentwicklung von D mitgearbeitet?


Anmelden zum Antworten