D Programmierung



  • Hallo
    Habt ihr schon mal was von D gehört?
    Wir haben die erste deutschsprachige D Community ins leben gerufen. Würde mich freuen den einen oder anderen zu sehen.
    http://sprungmarke.net

    Es wäre auch super, wenn diese Seite allgemein D mit aufnehmen würde. Schliesslich ist es SEHR C/C++ ähnlich!

    Grüsse DieterD



  • interessant. das beispiel auf digitalmars gefaellt mir.

    edit:
    http://en.wikipedia.org/wiki/D_programming_language
    all die features, die ich in python mag, bietet mir D kompiliert an. und die syntax und denkweisen find ich angenehmer als die von c++.



  • c.rackwitz schrieb:

    interessant. das beispiel auf digitalmars gefaellt mir.

    edit:
    http://en.wikipedia.org/wiki/D_programming_language
    all die features, die ich in python mag, bietet mir D kompiliert an. und die syntax und denkweisen find ich angenehmer als die von c++.

    "Batteries included" fehlt da IMO doch noch, auch wenn ich auf C-Libs zurueckgreifen kann.



  • Hab mich registriert. D ist wirklich ein knaller. Macht vieles leichter, kommt mit einem GC und wird kompiliert:) Dinge wie z.B. bei Funktionen inout/out/in sind genial!

    http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage ->Wiki
    http://www.docwiki.net/ ->Wiki
    http://www.toppoint.de/~manfred/d_buch.pdf -> Deutsches Buch leider noch nicht ganz vollständig aber gut geschrieben! Ist Mitbegründer von http://sprungmarke.net



  • dafuer hab ich garbage collection, ordentliche arrays und strings, nested/anonymous funktionen, keine makromassaker mehr, das alles auch noch kompiliert.



  • Sieht nett aus. Aber ob das mit das mit den char[]s echt sein muss? Gibt's in D keine gescheite Standard-Stringklasse (also etwas über den Umfang von std::string hinaus)?



  • Optimizer schrieb:

    Sieht nett aus. Aber ob das mit das mit den char[]s echt sein muss? Gibt's in D keine gescheite Standard-Stringklasse (also etwas über den Umfang von std::string hinaus)?

    Hm. http://www.digitalmars.com/d/phobos/std_string.html das sollte dich befriedigen:)

    Auf dieser Seite ist Phobos dokumentiert. Die Standard lib.



  • Nein, sind alles C-Style libs mit char[]s. 😞 Mag sein, dass die Arrays in D mehr Power haben, aber ich würde mir eine anständige String-Klasse wünschen, die auch überall in der Standardbibliothek und in anderen Bibliotheken zum Einsatz kommt. Sonst endet das wieder damit, dass keine mit char[] zufrieden ist und jede Lib bringt eine eigene String-Klasse mit.
    Aber die Sprache an sich sieht trotzdem nett aus und scheint einige hässliche Dinge von C++ zu beseitigen. 🙂



  • ja es fehlen noch ein paar wichtige dinge in phobos...



  • link geht nicht!



  • Chache löschen! 🙂 Es gab ein paar grundlegende Veränderungen.



  • Naja, ich bin da geteilter Meinung. Etliche Sprachen ahmen die Syntax von C/C++ nach und versuchen, diese "Königssprachen" zu übertrumpfen. Aber ob jetzt PHP, C# oder Java ... Aus irgendwelchen Gründen bin ich immer bei C/C++ geblieben, da braucht es einiges, mich von etwas anderem zu überzeugen! Würde mich wundern, wenn D da anders währe ...

    Aber prinzipiell sieht das auf jeden Fall echt interessant aus 😉
    Eine echte Compilersprache, foreach-Schleife ... schön schön, aber was an Garbage Collection so toll sein soll kann ich wirklich nicht nachvollziehen!?



  • Was hast du gegen std::for_each()?



  • Hm... Ganz nett, bin über die Seite aber auch schon gestolpert und hab D noch nicht ausprobiert. Wird einem Garbage Collection eigentlich aufgezwungen? Das macht nämlich vieles langsamer... Im allgemeinen wäre ein Performancetest der Sprache mal ganz nett.

    Scheinbar kann man aber C-like, C++-like oder ein bisschen C#-like ( 🙄 ) programmieren, je nachdem wie man will, ohne das man an einen bestimmten Stil gebunden ist.

    //edit: Frage, weiß einer von euch ob man damit z.B. auch C/C++ APIs benutzen kann? (boost, wxWidgets, DirectX etc. ...)



  • Brutus schrieb:

    Was hast du gegen std::for_each()?

    Dass es kein Sprachkonstrukt ist ...



  • Reyx schrieb:

    Brutus schrieb:

    Was hast du gegen std::for_each()?

    Dass es kein Sprachkonstrukt ist ...

    diese foreach fixiertheit hab ich noch nie verstanden.

    produziert der compiler was besseres als output wenn es ein sprachkonstruckt ist?



  • Brutus schrieb:

    Was hast du gegen std::for_each()?

    1. Ich kann nicht schreiben
    std::for_each(vec.begin(), vec.end()){
    
    }
    

    Ohne irgendeine Art vernünftiger Lambda Ausdrücken die die Übersetzungszeit nicht verdreifachen ist dies nicht möglich.

    1. Ich kann nicht schreiben
    std::for_each(vec, &output);
    

    Sondern muss schreiben

    std::for_each(vec.begin(), vec.end(), &output);
    

    Dies ist jetzt aber ein Problem der STL und nicht der Sprache. Der Fall wo ich den ganzen Verktor ausgeben will ist nun einmal viel häufiger als der wo ich nur einen Teil ausgeben will. Besser würde ich also finden:

    for_each(vec, &output);
    for_each(make_range(vec.begin(), vec.end()-3), &output);
    


  • daHa schrieb:

    Reyx schrieb:

    Brutus schrieb:

    Was hast du gegen std::for_each()?

    Dass es kein Sprachkonstrukt ist ...

    diese foreach fixiertheit hab ich noch nie verstanden.

    produziert der compiler was besseres als output wenn es ein sprachkonstruckt ist?

    Nicht zwangsläufig... ein foreach braucht man halt einfach verdammt oft und selbst mit auto wird das Durchiterieren immer noch nicht genauso schön wie mit foreach. Überleg mal wie lesbar es den Code macht, wenn da steht "für jedes ding in myList { ... }"



  • Wers unbedingt braucht macht halt nen Makro, aber ne Sprache danach zu bewerten ob es "foreach" gibt...
    C und C++ haben nicht umsonst viel weniger Schlüsselwörter als andere Sprachen, sie sind dadurch zwar komplexer, aber die Möglichkeiten schier unbegrenzt.



  • C++ und viel weniger Schlüsselwörter als andere Sprachen? Seit wann dass denn?



  • Makros schrieb:

    Wers unbedingt braucht macht halt nen Makro, aber ne Sprache danach zu bewerten ob es "foreach" gibt...
    C und C++ haben nicht umsonst viel weniger Schlüsselwörter als andere Sprachen, sie sind dadurch zwar komplexer, aber die Möglichkeiten schier unbegrenzt.

    Warum sind Sprachen durch weniger Schlüsselworte komplexer? Ob ich nun

    virtual void foobar()=0;
    

    schreibe, oder

    abstract void foobar();
    

    macht eine Sprache nicht komplexer, sondern nur unleserlicher.

    C++ hat nur aus einem Grund teilweise mit "neuen" Schlüsselwörtern gegeizt: Man wollte soviel C Code wie möglich kompatibel halten.

    Aber D sieht wirklich mal sehr interessant aus. Mich wunderts nur, dass man darüber bisher sowenig gehört hat.


Anmelden zum Antworten