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



  • So einfach ist das nicht.

    Voraussetzung dafür ist, dass die Methoden der Klasse virtuell sein müssen. Meistens das K.O. Kriterium. Zweitens muss noch eine Funktion vorhanden sein, die das Objekt erzeugt. Allerdings sieht es nur D2.0 vor, welches noch Alpha ist.

    http://www.digitalmars.com/d/2.0/cpp_interface.html



  • Ja, wie geht's denn nun konkret? Obiges Beispiel. 😃
    Dann könnte ich konkret zwischen C++ und D vergleichen.



  • Quelle?



  • greez schrieb:

    Auch ein erfahrener C++ Coder macht manchmal Fehler und muß danach vielleicht noch stundenlang den Fehler suchen.

    Hier ist eine Programmiersprache, die solche Schnitzer deutlich erschwert ein deutliches Hilfsmittel.

    Eine Sprache, die "solche Schnitzer" erschwert, ist sicherlich nicht schlecht. Was ich aber von D gesehen habe, ist meistens nur syntaktischer Zucker. Ein erfahrender Programmiert wird wahrscheinlich recht schnell mit D auch effizient programmieren, aber ich bezweifle, dass Anfänger mit D anfanagen sollten. Klar, man kann vielleicht nicht viel "kaputt machen" (z.b. wegen buffer overflows), aber programmieren lernen werden sie nicht. Schnell ein Programm zusammenbasteln ist leicht, richtig zu programmieren ist aber etwas anders. Wenn man nie mit Buffer Overflows zu tun hat, dann wird man nie lernen, sicher zu programmieren, so dass keine buff.over. entstehen. Mit C und/oder C++ hat man die Gefahr, aber man kann daraus lernen und vor allem versteht man danach, was schief ging und warum und wie man es besser macht.

    Das erinnert mich an bisschen an Kinder, die Fahrrad mit und ohne Stützen fahren. Die, die mit Stützen fahren, fahren auch Rad, ohne auf die Schnautze zu fallen, lernen aber nicht, wie man das Gleichgewicht halten soll. Kinder, die ohne Stützen lernen, fallen am Anfang schon auf die Schnauze aber sie lernen auch wie man das Gleichgewicht hält. D kommt mir manchmal wie C++ mit Stützrädern vor.



  • groovemaster schrieb:

    Da kannst du vermutlich lange auf eine Antwort warten. Das wissen die D Verfechter nicht mal selbst. Solche Diskussion sind leider ideologisch motiviert und nicht wirklich sachdienlich.

    @D Fan
    Du hast ausserdem ein grundlegendes Problem. Es geht nicht darum, Gründe gegen D anzugeben. Obwohl es da schon reichlich gibt. Es geht darum, trifftige Gründe für D zu finden. Und bis auf Syntaxzucker gibt es da keine.

    Wenn man Produktivät(Syntaxtisch) sowie Zuverlässigkeit(GC) von C#/Java in eine Programmieresprachen habe möcht, die native Output hat, könnte man D einbeziehen. 😉



  • Ob mit oder ohne Stützräder, was ich benötige, ist eine komplette IDE, die sich z.B. installiert wie Code::Blocks, kein Zusammenbasteln von Brocken am Anfang.
    Ansonsten benötigt man Bibliotheken. Bei C++ hat man STL, boost und für alles eine Lösung.

    Also:
    wo ist meine IDE?
    wo ist die Bibliothek BigInteger?

    Dann kann's los gehen.



  • Axo XD

    Ich glaub jetzt sind alle D Fans geflüchtet ^^



  • Es geht hier nicht um Fan oder Nicht-Fan, sondern um Hilfsmittel zur Erstellung von Programmen. Dafür benötigt man professionelle Tools, gute Tutorials/Bücher, eine lebendige Community (z.B. eine D-Sektion hier, wo sonst?), brauchbare Bibliotheken und eine klare Migrationsstrategie für bestehende Systeme. Manches bietet D ja bereits.



  • Ja, eben. Es gibt keine professionelle IDE auf dem D "Markt". Das Wissen die Leute auch.
    Bei Bibliotheken bin ich mir da auch nicht sicher, siehe Krieg Phobos vs Tango. Okey es ist nicht so schlimm, aber Tango setzt darauf die ganze Runtime Lib des "Standard" zu ersetzen.



  • für mich persönlich ist eine sprache nur interessant, wenn es für sie compiler gibt, mit denen ich nativen code für architekturen meiner wahl erzeugen kann. dabei ist mir der syntaktische mist vollkommen gleich, oder irgendwelche "designfehler" in einer sprache, über die sich so manche aufregen und den ganzen tag breitdiskutieren. ebenso irrelevant für mich ist, ob eine sprache einsteigerfreundlich ist oder nicht. dann lernen heutige angehende programmierer eben nur GUI's zusammenzuklicken, software nach theoretischen modellen zu konstruieren und UML diagramme zu designen. ein C wird deswegen noch lange nicht aussterben, ebensowenig wie die menschen, die sich dafür interessieren. wären die einen sich dann über sinn und unsinn eines sprachkonstrukts streiten, weil es nicht in ihr theoretisches modell passt, machen die anderen sich gedanken ob der preinkrementoperator nun denn effizienter sei als der postinkrementoperator. aber das war schon immer so, die einen denken, dass sie denken, die anderen h4x0rn wild drauf los. wenn man sich irgendwo in der mitte treffen könnte, wäre glaube ich allen geholfen und wir können uns wieder auf das wesentliche konzentrieren. was D betrifft, sollten wir einfach mal abwarten, tee trinken und bewährtes einsetzen, denn D ernsthaft für größere projekte in betracht zu ziehen, wäre derzeit in diesem labilen stadium der sprache wohl noch verfrüht. ich persönlich brauche mir da eigentlich noch nicht einmal die sprache anzuschauen, denn wenn ich nichts für meine wunscharchitektur nativ kompilieren kann, nützt es mir nichts. schon allein deswegen, nur um die diskussion aufrecht zu erhalten: C > D 😃



  • sothis_ schrieb:

    C > D 😃

    Das ist mathematisch nicht in Ordnung - hahahahahaha XD



  • greez schrieb:

    groovemaster schrieb:

    greez schrieb:

    Die Antwort werden C/C++ Coder, die die Fallstricke von C/C++ nicht kennen wollen, eh nicht verstehen.

    Dass wir uns hier auf einem Niveau bewegen, wo dies irrelevant sein sollte, ist dir doch hoffentlich bewusst?

    Auch ein erfahrener C++ Coder macht manchmal Fehler und muß danach vielleicht noch stundenlang den Fehler suchen.

    Hier ist eine Programmiersprache, die solche Schnitzer deutlich erschwert ein deutliches Hilfsmittel.

    Wie Java? 🤡

    Wieso seit ihr eigentlich so abgeneigt gegen D? - Ich glaube es liegt daran dass es ein "Nachfolger" von C/C++ sein soll.

    Ruby z.B. war auch eine Sprache von einem Syntax-Freak/Sprachen-Theoretiker. Nun wird aber Ruby von vielen gehyped.

    Der Vergleicht hingt zwar, denn ich weis wirkliche Vorteile gegebenueber C/C++ in Ruby. Ich denke sogar das Ruby besser als Java ist. Das Problem bei Ruby ist das es fuer Ruby es auch keine IDE gibt, bis auf paar Plugins und das es fuer Ruby auch wenige Libraries gibt.

    Bis jetzt fallen mir drei Vorteile bei D ein: Syntaxischer Zucker, bessere Modularitaet und die native Benutzung von C/C++ Bibliotheken.

    Also kann der OP bitte endlich weitere Vorteile/Konzepte von D nennen?

    Wie werden Exceptions in D gehandhabt? Wie effezient ist der GC von D? - Ist er besser als in Java/C#/C++? Es gibt keine Mehrfachvererbung? Gibt es Interfaces?



  • DEvent schrieb:

    greez schrieb:

    groovemaster schrieb:

    greez schrieb:

    Die Antwort werden C/C++ Coder, die die Fallstricke von C/C++ nicht kennen wollen, eh nicht verstehen.

    Dass wir uns hier auf einem Niveau bewegen, wo dies irrelevant sein sollte, ist dir doch hoffentlich bewusst?

    Auch ein erfahrener C++ Coder macht manchmal Fehler und muß danach vielleicht noch stundenlang den Fehler suchen.

    Hier ist eine Programmiersprache, die solche Schnitzer deutlich erschwert ein deutliches Hilfsmittel.

    Der Vergleicht hingt zwar, denn ich weis wirkliche Vorteile gegebenueber C/C++ in Ruby. Ich denke sogar das Ruby besser als Java ist. Das Problem bei Ruby ist das es fuer Ruby es auch keine IDE gibt, bis auf paar Plugins und das es fuer Ruby auch wenige Libraries gibt.

    Ich lach mich gerade tot, echt! Es gibt eine Hammer IDE für Ruby -> RubyInSteel
    Die hat echt alles was eine heutige IDE haben muss, zieh dir mal die Videos auf der Seite der Entwickler rein!

    Das mit den Bibliotheken stimmt teilweise, aber es wurde bereits sehr vieles portiert, so dass man meist ohne größere Probleme das richtige Werkzeug zur Hand hat.

    Zu 😨 was bringt mir eine Sprache wenn ich mit ihr noch nicht entwickeln kann? Ich muss Code jetzt sofort während der Entwicklung auf allen Architekturen und Plattformen testen können und nicht nur auf ein oder zwei.
    Wenn ich nachher sowieso die ganze Zeit C/C++-Bibliotheken verwenden muss, kann ich auch gleich bei denen bleiben und hab eine richtige Toolchain tonnenweise Know-How im Netz und Plattformunabhängigkeit, so dass ich wirklich für jede Plattform entwickeln und testen kann.



  • Hi,

    Du erwartest, daß in Software-Firmen für Projekte die über 3 jahre gehen (und wo vermutlich auch mehrere dran arbeiten) eine Sprache verwendet wird, die sich noch in keinster Weise etabliert hat, und wo keiner zm derzeitigen Punkt sagen kann, obs dafür überhaupt mal professionelle Umgebungen geben wird.
    Was ist, wenn sich bis dahin D totgelaufen hat? Oder wenns einfach keine komerziellen Umgebungen dafür gibt. Sowas ist eine Wette auf den Mond. Da ist das Geld ja sicherer angelegt, wenn der Eigner die Firma verkauft und das Geld in Aktien anlegt. Bei sowas geht es um viel Geld, um Jobs, um Existenzen... Das setzt man nicht einfach mal so aufs Spiel um D-Freaks einen Gefallen zu tun. Da liegen allein die Personalkosten im mehrfachen Hunderttausenderbereich. Willst Du das verantworten.
    Ruby wird übrigens komerziell unterstützt, z.B. durch Borland (jetzt codeGear).

    Gruß Mümmel



  • [quote="Ruby-Experte]Ich lach mich gerade tot, echt! Es gibt eine Hammer IDE für Ruby -> RubyInSteel[/quote]
    Basiert auf "Visual Studio"? Kostet 50-200$? Zum Totlachen!
    Nimm lieber Radrails. Viel besser, kann alles und ist kostenlos (in der Community Edition).

    http://www.aptana.com/rails/



  • Ruby-Experte schrieb:

    DEvent schrieb:

    greez schrieb:

    groovemaster schrieb:

    greez schrieb:

    Die Antwort werden C/C++ Coder, die die Fallstricke von C/C++ nicht kennen wollen, eh nicht verstehen.

    Dass wir uns hier auf einem Niveau bewegen, wo dies irrelevant sein sollte, ist dir doch hoffentlich bewusst?

    Auch ein erfahrener C++ Coder macht manchmal Fehler und muß danach vielleicht noch stundenlang den Fehler suchen.

    Hier ist eine Programmiersprache, die solche Schnitzer deutlich erschwert ein deutliches Hilfsmittel.

    Der Vergleicht hingt zwar, denn ich weis wirkliche Vorteile gegebenueber C/C++ in Ruby. Ich denke sogar das Ruby besser als Java ist. Das Problem bei Ruby ist das es fuer Ruby es auch keine IDE gibt, bis auf paar Plugins und das es fuer Ruby auch wenige Libraries gibt.

    Ich lach mich gerade tot, echt! Es gibt eine Hammer IDE für Ruby -> RubyInSteel
    Die hat echt alles was eine heutige IDE haben muss, zieh dir mal die Videos auf der Seite der Entwickler rein!

    Lach dich halt tot, so wie ich das sehe ist RubyInSteel ein Plugin fuer VS2008. 👎



  • www.digitalmars.com schrieb:

    Who D is Not For
    Realistically, ...



  • DEvent schrieb:

    Wie effezient ist der GC von D? - Ist er besser als in Java/C#/C++?

    In D kannst du den Garbage Collector auf Wunsch gezielt abschalten, wenn du es manuell effizienter hinkriegen würdest, in Java hast du diese Möglichkeit nicht.



  • Ruby-Experte schrieb:

    Es gibt eine Hammer IDE für Ruby -> RubyInSteel
    Die hat echt alles was eine heutige IDE haben muss,..

    Was müßte denn eurer Meinung nach eine IDE für D alles können?



  • ein kompiler wäre mir erstmal wichtiger 🙂


Anmelden zum Antworten