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



  • Hmm, ich steck da nicht so drin. Keine Ahnung was mit der eigentlichen Webseite ist. Die hier geht.

    <alternativargumentation>
    Für objC gibts übrigens sogar Compiler
    </alternativargumentation>
    🤡



  • D vs. C++ schrieb:

    Kein Mensch ist fehlerfrei, du kannst 30 Jahre lang unfrallfrei Auto fahren und dann nach dieser zeit dann dennoch einen bauen und dabei auch noch der Verursacher sein, also tue mal nicht so, daß Bufferoverflows bei C++ kein Problem seihen.

    Das sind sie in der Regel auch nicht, man muß nur die dafür notwendigen Klassen sauber schreiben und per Code Review das ganze überprüfen. Die meisten Buffer Overflows gibt es in C Applikationen. Schlechte Programmierer machen immer wieder Faulheitsfehler und da hilft noch nicht einmal SPARC dagegen, und das ist eindeutig die strengste Programmiersprache, die man industriell nutzen kann.

    Die Stärke und auch die Schwäche von C++ ist die leichte Interaktion mit C-Code, da ist D eindeutig schlechter aufgestellt und zu dem ist es inkompatibel zu C++. Meiner Meinung nach müßte ein legitimer Nachfolger von C++ C++-Code problemlos verarbeiten können, so daß Interaktion mit C++ Objekten problemlos möglich ist. Für neue Programme sollten strengere Regeln gelten. Insofern ist für mich D ein Rohrkrepierer. Es macht vieles anders aber nichts besser. Übrigens fehlt mir ganz eindeutig für eine neue Multiparadigmensprache die Möglichkeit von Reflection und das dynamische Dispatching von SmallTalk. D ist total überflüssig. Wer eine sichere Sprache will sollte Ada nutzen, und wer eine Sprache mit C ähnlicher Syntax will, der sollte C++ verwenden.



  • Tim schrieb:

    Hmm, ich steck da nicht so drin. Keine Ahnung was mit der eigentlichen Webseite ist. Die hier geht.

    <alternativargumentation>
    Für objC gibts übrigens sogar Compiler
    </alternativargumentation>
    🤡

    Ich hab mir schon ObjC angesehen, danke 😛



  • Was meinst du genau? schrieb:

    Auch C++ nutzt nur die Funktionen der gängigen Betriebssysteme die in C geschrieben wurden und hat selbst kein eigenes Betriebssystem. (zuminest kenen ich kein bekanntes. Linux, Darwin & Windows sind beide in C geschrieben)

    Haiku ist komplett in C++ geschrieben.
    Haiku rulez!
    http://www.haiku-os.org/



  • ~john schrieb:

    Meiner Meinung nach müßte ein legitimer Nachfolger von C++ C++-Code problemlos verarbeiten können, so daß Interaktion mit C++ Objekten problemlos möglich ist.

    Das ist eine sehr schlechte Idee.
    Siehe auch die Gründe von Digital Mars die dagegen sprechen und auch hinreichend begründen warum das beim Entwerfen von D nicht gemacht wurde:

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

    Aber du kannst dich dennoch freuen, denn in Version 2.0 will man ein paar
    weitere Möglichkeiten ermöglichen um C++ Code von D aus zu nutzen.
    Aber auch für D 1.0 gibt es dazu 3 Möglichkeiten.
    Aber das steht alles in obigem Link auch drin.

    Für neue Programme sollten strengere Regeln gelten. Insofern ist für mich D ein Rohrkrepierer. Es macht vieles anders aber nichts besser.

    Begründe das mal Anhand von Beispielen.

    D ist total überflüssig. Wer eine sichere Sprache will sollte Ada nutzen, und wer eine Sprache mit C ähnlicher Syntax will, der sollte C++ verwenden.

    Tja, D vereint hier aber C++ und Ada.
    Es hat die C ähnliche Syntax die C++ auch hat und die Sicherheit die Ada bietet.

    D ist also mehr als Ada.
    Und mir ist das zu doof, jedes mal begin und end zu schreiben.
    Da ist C Syntax mit seinem { } deutlich besser.
    Am besten macht es natürlich Python mit seiner Einrückung und es ist das einzigste was mich an D etwas stört.



  • Man kann jetzt zwischen D und Haiku ne Relation definieren!



  • D vs. C++ schrieb:

    Siehe auch die Gründe von Digital Mars die dagegen sprechen und auch hinreichend begründen warum das beim Entwerfen von D nicht gemacht wurde:

    Da ist kein stichhaltiger Grund aufgeführt! Die fehlende Manpower kann ich als Argument für die Implementation sehen, aber nicht für das Sprachdesign. Da die Interaktion für einen Nachfolger von C++ so essentiell ist, muß das eine Nachfolgesprache auch können. Damit ist D irgend eine weitere Programmiersprache, aber kein legitimer Nachfolger von C++.

    Es hat die C ähnliche Syntax die C++ auch hat und die Sicherheit die Ada bietet.

    Programmiersprachen die auf einer C ähnlichen Syntax basieren, bieten eben nicht die Sicherheit von Ada! Ada läßt sich wegen der Syntax maschinell prüfen, Codeanalyse mit einer C ähnlichen Syntax ist faktisch nicht drin. Das macht die Implementation von Compilern so schwierig und teuer, und es erschwert den Code Review.

    D ist also mehr als Ada.

    Du kennst Ada? Du kennst den Subset von Ada namens SPARC?
    Nein, denn sonst würdest Du das nicht behaupten.



  • D ist auch nie der Nachfolger von C++.



  • D ist der um zwanzig Jahre verspätete Stiefbruder von C++, wenn ich das richtig sehe. Ich finde die D-Syntax irgendwie rückwärts gewandt, vielleicht weil sie C ähnelt, aber das ist alles Gewohnheit.

    ..



  • Zeus schrieb:

    Man kann jetzt zwischen D und Haiku ne Relation definieren!

    Hier ein 64 Bit Betriebssystem das in D programmiert wurde.
    Zumindest was den Kernel betrifft:

    http://www.devlime.com/



  • D OS schrieb:

    Zeus schrieb:

    Man kann jetzt zwischen D und Haiku ne Relation definieren!

    Hier ein 64 Bit Betriebssystem das in D programmiert wurde.
    Zumindest was den Kernel betrifft:

    http://www.devlime.com/

    lol. du tust gerade so, als wenn es vollendete tatsache ist. korrekt ausgedrückt wäre:

    Hier ein Betriebssystem das in D programmiert wird, welches zum ziel hat auf 64bit architekturen zu laufen.

    wenn ich mal den sourcetree durchschaue, finde ich auch nur etwas für i586. alles in allem sind es nur wahllos nicht zusammenhängende module, benannt nach altbekannten. gerade so, als wenn der entwickler gerade ein buch zum betriebssystemdesign gelesen hat. ich bitte dich, dieses projekt konnte mich nicht überzeugen 🙂



  • Vorallem woher kommt der 64bit Compiler aufeinmal O.o



  • Der Asm-Code im Repo von diesem Kernel scheint mir schon 64Bit zu sein, da stellt sich wirklich die Frage wie er den Kernel kompilieren will ohne 64Bit Compiler??



  • Wobei, wahrscheinlich jagt er die D-Files einfach nur durch einen 32Bit Compiler um auf Syntax-Fehler zu testen.



  • Warum eigentlich D?

    Hier die Antworten nach der ihr alle sucht:
    http://www.softchecker.net/upload/viewtopic.php?f=10&t=17&start=0



  • Und schon haben wir ein echtes Argument um C++ und C zu schlagen!

    D ist deutlich schneller beim Parsen von XML!

    http://dotnot.org/blog/index.php
    http://dotnot.org/blog/archives/2008/03/12/why-is-dtango-so-fast-at-parsing-xml/

    Viele Programmierer würden viel dafür geben ihren lahmen XML Parser einen ordentlichen Schub zu verpassen. Mit D geht es!



  • - Mehrfachvererbung muss man in C++ nicht verwenden, wenn man damit nicht umgehen kann.
    - for_each ist bei C++ in <algoritm> realisiert (Im OOP-Buch von Marcus Bäckmann findet man ebenfalls ein Beispiel).
    http://www.cplusplus.com/reference/algorithm/for_each.html

    // for_each example
    #include <iostream>
    #include <algorithm>
    #include <vector>
    using namespace std;
    
    void myfunction (int i) { cout << " " << i; }
    struct myclass { void operator() (int i) {cout << " " << i;} } myobject;
    
    int main () 
    {
      vector<int> myvector;
      myvector.push_back(10); myvector.push_back(20); myvector.push_back(30);
    
      cout << "myvector contains:";
      for_each (myvector.begin(), myvector.end(), myfunction);
    
      // or:
      cout << "\nmyvector contains:";
      for_each (myvector.begin(), myvector.end(), myobject);
    
      cout << endl;
    }
    


  • Comments are open if other D people would like to add their $.02.

    Lol! Sonst könnt ja jemand daher kommen und was anderes behaupten xD

    Wisst ihr es ist eine Sache einen Benchmark zu sehen in dem eine Sprache besser abschneidet als eine andere, aber nur ein Artikel, in dem der Entwickler bzw. eine Person die sehr stark in das Projekt involviert ist, darüber zu lesen ist ja mal was völlig anderes.
    So lange ich keine Zahlen sehe und die Quellcodes der Benches glaub ich kein Wort.



  • ich lieg aufm boden schrieb:

    Wisst ihr es ist eine Sache einen Benchmark zu sehen in dem eine Sprache besser abschneidet als eine andere, aber nur ein Artikel, in dem der Entwickler bzw. eine Person die sehr stark in das Projekt involviert ist, darüber zu lesen ist ja mal was völlig anderes.
    So lange ich keine Zahlen sehe und die Quellcodes der Benches glaub ich kein Wort.

    Die Zahlen stehen doch weiter unten.

    Scroll mal den 2. Link runter!



  • D benchmark schrieb:

    ich lieg aufm boden schrieb:

    Wisst ihr es ist eine Sache einen Benchmark zu sehen in dem eine Sprache besser abschneidet als eine andere, aber nur ein Artikel, in dem der Entwickler bzw. eine Person die sehr stark in das Projekt involviert ist, darüber zu lesen ist ja mal was völlig anderes.
    So lange ich keine Zahlen sehe und die Quellcodes der Benches glaub ich kein Wort.

    Die Zahlen stehen doch weiter unten.

    Scroll mal den 2. Link runter!

    Sry, den 1. Link


Anmelden zum Antworten