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



  • D-Profi schrieb:

    So dann will ich euch den Grund verrate warum ich mir eher Objective C anschauen würde als 😨 Objective C wird in der Praxis eingesetzt und zwar jetzt und nicht irgendwann

    Fairerweise muss man hier aber auch erwähnen, dass es für objC ausserhalb von MacOS auch ziemlich dünn wird. Aber zumindest Compiler sind kein wirkliches Problem (afaik).



  • Erhard Henkes schrieb:

    Wenn ich mir das so ansehe, habe ich das Gefühl, dass D ein typisches "me-too" Produkt ist. Damit kann man im professionellen Umfeld nicht punkten.

    Was verstehst du unter "me-too" Produkt?

    Für den privaten Anwender zählt die Kompaktheit der Toolchain, die Flexibilität von der Konsole bis zum Spieledesign und ausreichend Unterstützung bei Problemfällen.

    Meinst du damit, daß es ein komplettes Betriebssystem basierend auf D geben sollte und das es eine eigene OpenGL Implementierung geben sollte, aber auf Basis der Sprache D, damit das was du willst, also die größte Kompaktheit & Flexibilität erfüllt werden kann?

    Wenn ja, dann frage ich mich, wieso du so etwas von D verlangst?

    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)

    Auch kenen ich keine Implementierung von OpenGL, die in C++ realisiert wurde.
    Lediglich unter Windows gibt es etwas ähnliches namnes Direct3d.

    Und bei den GUI Toolkits sieht es auch nicht viel besser aus.
    Auch QT abstrahiert nur die Funktionalität des X-Window System, es gibt keine freie X-Window Implementierung die in C++ geschrieben wurde.

    Von daher verstehe ich dich nicht.

    Warum soll D nicht die C Implementierungen von OpenGL nutzen können dürfen?
    Warum soll D nicht auf die C Implementierungen der GUI Toolkits wie z.B. GTK+ aufbauen dürfen? Man beachte, GTK+ wurde dafür geschrieben, daß man auch andere Programmiersprachen Bindings nutzen kann. Man denke nur an GTKmm -> C++.



  • D-Profi schrieb:

    So dann will ich euch den Grund verrate warum ich mir eher Objective C anschauen würde als 😨 Objective C wird in der Praxis eingesetzt und zwar jetzt und nicht irgendwann

    Es gibt da eigentlich nur MacOS X.

    Nextstep und GnuStep kann man vergessen, da diese entweder veraltet oder
    so gut wie nirgends benutzt werden.

    Und bevor ich direkt für MacOS X mit ObjC entwickle und mir somit selber ans Pein Pinkele, da ich die Crossplattformfreiheit dadurch verliere, benutzte ich lieber GTK+ oder QT.
    Und im Falle von GTK+ kann ich D problemlos nehmen, da es dafür GTK Bindings gibt.



  • Hier mal ein paar Videos zu D auf Google Video.

    Walter Bright @ NWCPP: Advanced D Programming Language Features (83 min)
    http://video.google.com/videoplay?docid=-7073020265668105471

    The Future of D - Part 1 - 86 Min. - 09.07.2008
    http://video.google.com/videoplay?docid=-6262259850172814399

    The Future of D - Part 2 - 112 Min
    http://video.google.com/videoplay?docid=5552232015568336937

    Das Video Future of D ist, wie man am Datum sehen kann gerademal 3 Tage alt,
    d.h. da steht vieles Interessantes drin was hoch aktuell ist und die Zukunft von D betrifft.



  • D vs. C++ schrieb:

    Nextstep und GnuStep kann man vergessen, da diese entweder veraltet oder
    so gut wie nirgends benutzt werden.

    Bei objC tut sich auch etwas. Z.B. Sidestep. Aber ich will nichts schönreden. objC wird viel zu stiefmütterlich behandelt. Schade eigentlich, da es interessante Konzepte mitbringt.



  • Welche Konzepte?



  • Praktisch alles was es von Smalltalk geerbt hat 🤡

    http://en.wikipedia.org/wiki/Objective-C

    Da dürfte das meiste angesprochen sein.



  • Tim schrieb:

    D vs. C++ schrieb:

    Nextstep und GnuStep kann man vergessen, da diese entweder veraltet oder
    so gut wie nirgends benutzt werden.

    Bei objC tut sich auch etwas. Z.B. Sidestep. Aber ich will nichts schönreden. objC wird viel zu stiefmütterlich behandelt. Schade eigentlich, da es interessante Konzepte mitbringt.

    Ein Projekt dessen Homepage man in Google mit den Suchbegriffen "Sidestep & Objective C" nichtmal auf der 1. und 2. Suchergebnissseite finden kann
    werte ich nicht gerade als lebhaft.
    Das Ding scheint nach Google ja nichtmal zu existieren.

    Und die Homepage habe ich letzten endes nur über einen Umweg gefunden, aber die Homepage ist trotzdem Tod:
    http://sidestep-project.org/

    IMO ist sidestep eine weitere OSS Project Leiche.



  • 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


Anmelden zum Antworten