Ist man mit der Programmiersprache D 2.0 anstatt C++ (C++11) schneller am Ziel?



  • Nee, ist klar ... ich sehe auch überhaupt keinen Mehrwert in einer Sprachen-Compiler-Kombi, die zur Compilezeit das Dereferenzieren von Nullzeigern, Buffer Overflows, Datenrennen, Speicherlecks und baumelnde Referenzen ausschließen und dabei ähnlich effizient sein will wie das, was man mit C++ hinbekommen kann. Braucht kein Schwein sowas. Ist ja nichts für "richtige Programmierer". 🙄



  • kkaw schrieb:

    Nee, ist klar ... ich sehe auch überhaupt keinen Mehrwert in einer Sprachen-Compiler-Kombi, die zur Compilezeit das Dereferenzieren von Nullzeigern, Buffer Overflows, Datenrennen, Speicherlecks und baumelnde Referenzen ausschließen und dabei ähnlich effizient sein will wie das, was man mit C++ hinbekommen kann. Braucht kein Schwein sowas. Ist ja nichts für "richtige Programmierer". 🙄

    Ich derefenziere keine Nullzeiger, habe keine buffer overflows, Datenrennen oder baumelnde Referenzen, und das sollte eigentlich normal sein, oder?

    Seit dem Java- und .net-Desaster sollten wir doch wissen, was passiert, wenn man Nicht-Probleme repariert.



  • volkard schrieb:

    kkaw schrieb:

    Nee, ist klar ... ich sehe auch überhaupt keinen Mehrwert in einer Sprachen-Compiler-Kombi, die zur Compilezeit das Dereferenzieren von Nullzeigern, Buffer Overflows, Datenrennen, Speicherlecks und baumelnde Referenzen ausschließen und dabei ähnlich effizient sein will wie das, was man mit C++ hinbekommen kann. Braucht kein Schwein sowas. Ist ja nichts für "richtige Programmierer". 🙄

    Ich derefenziere keine Nullzeiger, habe keine buffer overflows, Datenrennen oder baumelnde Referenzen

    Du, das kommt bei mir wahrscheinlich genauso selten vor, wie bei Dir. Und trotzdem kann ich der Compilezeit-Garantie etwas abgewinnen. Ich muss aber nicht nachvollziehen können, warum Dich das anscheinend (oder scheinbar ;)) kalt lässt.



  • Es gibt keine brauchbaren nativen Sprachen. D hat nen GC, C ist aus der Steinzeit und C++ ist nur das geringste Uebel. Rust sieht interessant aus, steht auf meiner TODO-Liste.
    Und wenn unfaehige Leute eine Sprache designen, dann kommt sowas wie Java/C#/JS/PHP/... raus.

    just my €0.02



  • ^ What he said.



  • Es gibt überhaupt keine brauchbaren Programmiersprachen. Es gibt nämlich keine brauchbaren Computer. Denn wenn ich jemanden erst noch sagen muss wie er etwas tun soll, dann ist er unbrauchbar 🙂



  • Ich glaube du verstehst nicht ganz, das ist schon ziemlich ernst gemeint.



  • Ich glaube du verstehst nicht ganz, das war überhaupt nicht ernst gemeint. (Darum der Smiley)



  • Kellerautomat schrieb:

    Es gibt keine brauchbaren nativen Sprachen. D hat nen GC, C ist aus der Steinzeit und C++ ist nur das geringste Uebel. Rust sieht interessant aus, steht auf meiner TODO-Liste.
    Und wenn unfaehige Leute eine Sprache designen, dann kommt sowas wie Java/C#/JS/PHP/... raus.

    just my €0.02

    Sarkasmus?



  • Ethon schrieb:

    Kellerautomat schrieb:

    Es gibt keine brauchbaren nativen Sprachen. D hat nen GC, C ist aus der Steinzeit und C++ ist nur das geringste Uebel. Rust sieht interessant aus, steht auf meiner TODO-Liste.
    Und wenn unfaehige Leute eine Sprache designen, dann kommt sowas wie Java/C#/JS/PHP/... raus.

    just my €0.02

    Sarkasmus?

    Noe.



  • Dann versteh ich nichtmal im Ansatz wie man sich über den GC von D beschweren kann. Man muss ihn absolut nicht benutzen aber wenn man will dann ist er ein Geschenk des Himmels.
    Dem Argument fehlt in meinen Augen jeder Boden.

    Lehnst du ein geschenktes Auto ab wenn es ein Navi hat aber du kein Navi brauchst weil du den Weg auch so findest?



  • Ethon schrieb:

    Dann versteh ich nichtmal im Ansatz wie man sich über den GC von D beschweren kann. Man muss ihn absolut nicht benutzen aber wenn man will dann ist er ein Geschenk des Himmels.
    Dem Argument fehlt in meinen Augen jeder Boden.

    Lehnst du ein geschenktes Auto ab wenn es ein Navi hat aber du kein Navi brauchst weil du den Weg auch so findest?

    Erstens wurde schon das Argument genannt, dass die D stdlib ohne GC nur beschraenkt benutzbar ist, zweites habe ich noch nie das Verlangen nach einem GC gespuert.

    Ums mal auf deine Analogie zu uebertragen: Das Navi kann ich einschalten wenn ichs brauche. Ein Navi, das sich nicht ausschalten laesst und dauernd irgendwas ansagt wuerde ich definitiv wegwerfen. Und wenn das Navi ins Auto eingebaut ist, dann auch das Auto!



  • Kellerautomat schrieb:

    zweites habe ich noch nie das Verlangen nach einem GC gespuert.

    Ich habe auch noch nie das Verlangen nach Templates gespürt, bis ich C++ kennen gelernt habe.



  • Ethon schrieb:

    Lehnst du ein geschenktes Auto ab wenn es ein Navi hat aber du kein Navi brauchst weil du den Weg auch so findest?

    Wenn sie mir beim Abschalten des Navis auch die Gangschaltung deaktivieren, ja.



  • analogargument schrieb:

    Kellerautomat schrieb:

    zweites habe ich noch nie das Verlangen nach einem GC gespuert.

    Ich habe auch noch nie das Verlangen nach Templates gespürt, bis ich C++ kennen gelernt habe.

    Du nimmst an, dass ich noch nicht in GC-Sprachen programmiert habe und damit liegst du falsch. Ich habe beruflich in C# programmiert, sowie 5 Jahre lang Java an meiner Schule gelernt. Die ganzen Kruecken ala using/try-with-resources sind einfach nur ein Hack und gehen mir auf den Senkel.

    Ach, warum mach ich mir ueberhaupt die Muehe. Macht doch was ihr wollt, ich werde weiterhin privat keine GC-Sprachen anfassen. 🙄



  • Kellerautomat schrieb:

    analogargument schrieb:

    Kellerautomat schrieb:

    zweites habe ich noch nie das Verlangen nach einem GC gespuert.

    Ich habe auch noch nie das Verlangen nach Templates gespürt, bis ich C++ kennen gelernt habe.

    Du nimmst an, dass ich noch nicht in GC-Sprachen programmiert habe und damit liegst du falsch. Ich habe beruflich in C# programmiert, sowie 5 Jahre lang Java an meiner Schule gelernt. Die ganzen Kruecken ala using/try-with-resources sind einfach nur ein Hack und gehen mir auf den Senkel.

    Nur weil Java OOP das ins Absurde treibt ist OOP nicht schlecht. Trotzdem geht es mir in Java auf den Senkel.
    Es ist ja nicht so, dass es in D keine deterministischen Konstruktoren gibt, im Gegenteil. Und bevor du jetzt sagst, dass man die für Klassen nicht verwenden kann, in C++ gibt es auch RAII-Wrapper-Klassen (z.B. std::lock_guard).

    Kellerautomat schrieb:

    Ach, warum mach ich mir ueberhaupt die Muehe. Macht doch was ihr wollt, ich werde weiterhin privat keine GC-Sprachen anfassen. 🙄

    GC<Java>,GC<C#> != GC<D>



  • Kellerautomat schrieb:

    Ethon schrieb:

    Dann versteh ich nichtmal im Ansatz wie man sich über den GC von D beschweren kann. Man muss ihn absolut nicht benutzen aber wenn man will dann ist er ein Geschenk des Himmels.
    Dem Argument fehlt in meinen Augen jeder Boden.

    Lehnst du ein geschenktes Auto ab wenn es ein Navi hat aber du kein Navi brauchst weil du den Weg auch so findest?

    Erstens wurde schon das Argument genannt, dass die D stdlib ohne GC nur beschraenkt benutzbar ist, zweites habe ich noch nie das Verlangen nach einem GC gespuert.

    Ums mal auf deine Analogie zu uebertragen: Das Navi kann ich einschalten wenn ichs brauche. Ein Navi, das sich nicht ausschalten laesst und dauernd irgendwas ansagt wuerde ich definitiv wegwerfen. Und wenn das Navi ins Auto eingebaut ist, dann auch das Auto!

    Ja und? Wo man keinen GC will da will man auch keine Standardbibliothek.
    Wirst im Kernel zb. auch keinen std::string verwenden.

    Der GC zwingt dich dir nicht auf, einfach Operationen vermeiden die logischerweise Support benötigen wie new und fertig.
    Wenn malloc & free dich glücklich machen, okay.



  • Kellerautomat schrieb:

    Ethon schrieb:

    Dann versteh ich nichtmal im Ansatz wie man sich über den GC von D beschweren kann. Man muss ihn absolut nicht benutzen aber wenn man will dann ist er ein Geschenk des Himmels.
    Dem Argument fehlt in meinen Augen jeder Boden.

    Lehnst du ein geschenktes Auto ab wenn es ein Navi hat aber du kein Navi brauchst weil du den Weg auch so findest?

    Erstens wurde schon das Argument genannt, dass die D stdlib ohne GC nur beschraenkt benutzbar ist, zweites habe ich noch nie das Verlangen nach einem GC gespuert.

    Ums mal auf deine Analogie zu uebertragen: Das Navi kann ich einschalten wenn ichs brauche. Ein Navi, das sich nicht ausschalten laesst und dauernd irgendwas ansagt wuerde ich definitiv wegwerfen. Und wenn das Navi ins Auto eingebaut ist, dann auch das Auto!

    Der GC ist mehr wie die Servolenkung.
    Du kannst auch ohne Servolenkung Auto fahren, aber mit ist es bequemer und so ist es auch mit GC.
    Man spart dabei nen Haufen Zeit und das er bei D abschaltbar ist, ist doch etwas sehr schönes.

    Inwieweit das mit "D stdlib ohne GC = nur beschraenkt benutzbar" wäre zu beweisen.



  • Auf der anderen Seite kann man in C++ einen GC nutzen, wenn man denn unbedingt will. Wo bleibt da der Riesenvorteil von D?



  • Tyrdal schrieb:

    Auf der anderen Seite kann man in C++ einen GC nutzen, wenn man denn unbedingt will. Wo bleibt da der Riesenvorteil von D?

    Wer verspricht Riesenvorteil?


Anmelden zum Antworten