Ist D eine glaubwürdige Alternative zu Java und C ++?
Ist die D Sprache eine glaubwürdige alternative zu Java und C++? Was wird es dauern, bis sich eine glaubwürdige alternative? Sollte ich mir die Mühe Sie zu lernen? Verdient es, zu bekehren?
Der Haupt-Grund warum ich Frage ist, dass mit dem neuen C++ - standard (c++0x) fast hier, es ist mir klar, dass die Sprache gut gegangen vorbei an der point of no return bezüglich schon mal jemand verstehen. Ich weiß, dass C/C++ wird nie sterben, aber an einem gewissen Punkt, wir müssen weitergehen. Sogar COBOL ausgedient und Java hat in vielerlei Hinsicht rückgängig gemacht C++. Also, was kommt als Nächstes? Unterstützt D füllen die Rechnung?
InformationsquelleAutor der Frage Mark Kegel | 2008-09-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was bestimmt den Erfolg und die Beliebtheit einer Programmiersprache für Echtzeit-Welt der software-Entwicklung ist nur teilweise in Bezug auf die Qualität der Sprache selbst. Als Reine Sprache, D wohl, hat viele Vorteile gegenüber C++ und Java. Zumindest ist es eine glaubwürdige alternative als eine Reine Sprache, die alle anderen Dinge gleich sind.
Aber auch andere Dinge, die Materie der software - Entwicklung- fast noch mehr als die Sprache selbst: Mobilität (wie viele Plattformen läuft es auf), debugger-support, IDE-support, standard-Bibliothek, Qualität, Dynamik-Bibliothek Unterstützung, Bindungen für die gemeinsame APIs, Dokumentation, Entwickler-community, Dynamik und kommerzielle Unterstützung, um nur einige zu nennen. In jeder dieser Rücksichten, D ist hoffnungslos hinter Java, C++ und C#. In der Tat, ich würde behaupten es ist sogar hinter so genannte "scripting" Sprachen wie Python, Perl, PHP, Ruby, und auch JavaScript, in dieser Hinsicht.
Stumpf sein, kann man einfach nicht bauen eine groß angelegte, cross-Plattform-Anwendung mit D. Mit einer unreifen standard-Bibliothek
keine Unterstützung in jeder modernen IDEs(gibt es plugins für Visual Studio und Xamarin Studio/MonoDevelop), begrenzte dynamische/shared library support, und wenige Bindungen zu anderen Sprachen, D, ist einfach nicht eine option, heute.Wenn Sie mögen, was Sie sehen, von D, mit allen Mitteln, es zu lernen - es sollte nicht lange dauern, wenn Sie bereits wissen, Java und C++. Ich glaube nicht, dass Evangelisation wäre hilfreich - an diesem Punkt, wenn D gelingen wird, was es wirklich braucht, ist mehr Menschen ruhig zu verwenden, und sich dessen größere Mängel wie standard-Bibliothek und IDE-Unterstützung.
Schließlich ist, wie für C++, während die meisten damit einverstanden, die Sprache ist zu Komplex, Tausende von Unternehmen sind erfolgreich mit C++ als Teil einer gesunden Mischung von Sprachen, indem Sie nur eine kleinere, gut definierte Teilmenge der Sprache. Es ist immer noch schwer zu schlagen, C++, wenn sowohl raw-Leistung und kleinem Speicher-Nutzung sind erforderlich.
InformationsquelleAutor der Antwort dmazzoni
Nur um meine eigenen Erfahrungen in den mix:
Etwa einem Jahr, ich arbeitete auf einem kleinen Maßstab-Spiel-Projekt (3 Programmierer) mit einer Dauer von 3 Monaten, wo wir verwendet, D als unsere primäre Sprache. Wir wählten es teilweise als ein experiment, auch weil es bereits Bindungen für SDL und einige andere Werkzeuge, die wir verwenden, und vor allem für die Vorteile ist erschienen, um über C++.
Wir liebten es zu benutzen. Es war schnell zu erlernen und einfach zu schreiben. Viele der Funktionen von unschätzbarem Wert erwiesen, und ich vermisse Sie schon wieder zu C++.
Jedoch, die folgenden Punkte haben uns das Leben erschweren:
Insgesamt, wir lieben zu schreiben, D. Es machte tatsächlich das schreiben von code einfacher und war schnell zu erlernen. Die Probleme, die ich erwähnt habe echo, die Antwort, dass angenommen wurde, für diese Frage - es ist die "extra" - bits, die müssen Adressierung in D, der Kern ist es fest.
InformationsquelleAutor der Antwort xan
Ich bin damit einverstanden, dass C++ immer eine dead-end-Sprache - und es schmerzt mich zu sagen, dass, nachdem er verwendet es für die letzten 17 Jahre.
Ich denke, D ist der rechtmäßige Nachfolger von C++. Aus einer Sprache, die Perspektive "bedeutet all die richtigen Dinge" (auch wenn ich nicht einverstanden mit jeder minute, die Entscheidung). Ich denke mit C und C++ rückläufig, es gibt keine anderen Systeme level-Sprache, die können wirklich tun, was Sie tun, und halten Sie sich in der Welt der modernen Sprachen - außer D!!!! Nicht nur, dass D diese Rolle ausfüllen - es glänzt! Ein Blick auf D1.x sollte genug sein, Sie zu überzeugen, aber wenn man sich bei D2.0 er bläst Sie Weg. Es ist meine Meinung, dass es keine andere Sprache, um heute, dass funktioniert so gut wie D2.0 bei der überbrückung der imperative und funktionale Programmierung - Paradigmen- was nur geht, um mehr Bedeutung in den kommenden Jahren.
Mangel an mainstream-Akzeptanz - oder sogar Sicht - sowie großen Maßstab, Reifen, Bibliotheken - sind ein Hindernis natürlich. Aber ich glaube nicht, Sie können schreiben Sie es aus, weil dieser. Ich bin davon überzeugt, dass D wird wachsen zu einer der wichtigsten Sprachen innerhalb der nächsten paar Jahre - und die, die es ernst zu nehmen, jetzt gehen, um gut aufgestellt, um die Führung übernehmen, wenn die Zeit kommt.
Ich denke, der Unterschied wird kommen über durch, im großen Teil, Andrei Alexandrescu Engagement. Das ist nicht zu diskreditieren, Walter Hell in keiner Weise, Sie hat einen bedeutsamen job in bringen Sie D, um die Welt. Aber Alexandrescu ist eine wichtige und überzeugende, die Figur in der sicherlich die C++ - community - und es ist, wo die meisten der potentiellen D-Switcher gehen, zu kommen. Und er hat auch einen bedeutenden und wichtigen Beitrag zu D2.0 Ihre Unterstützung für die funktionale Programmierung.
Kann es immer noch herausstellen, dass D zum scheitern verurteilt ist, werden die Betamax-Systeme level-Sprachen - aber mein Geld ist auf es dreht sich um innerhalb der nächsten zwei Jahre.
InformationsquelleAutor der Antwort philsquared
Dass ich mag D ist das Werk eines Genies, vor allem eine Geist - Walter Hell, dessen Zortech-compiler war fantastisch in seiner Zeit.
In Kontrast C++ ist zu viel design by committee, auch wenn Bjarne ist ein Einfluss. Zu viele add-on-Funktionen und merkwürdige neue syntax. Dieser Unterschied spiegelt sich in der Leichtigkeit des Lernens und erleichtern den täglichen Umgang, weniger bugs.
Den kohärenter Sprachen führen zu besserer Produktivität und Programmierer Freude - aber das ist subjektiv und diskutabel! (ich glaube, ich sollte abstimmen, meine Antwort unten)
InformationsquelleAutor der Antwort DarenW
D ist eine gute Sprache und anständig beliebtaber wie alle Sprachen, es ist nur ein weiteres Werkzeug. Welches Werkzeug zu verwenden, hängt von der Art der person Sie sind, wie Sie denken, die Umwelt, in der Sie arbeiten, welche Einschränkungen der Sprachen gelten, die das Programm, und die meisten wichtiger ist, das Programm selbst. Wenn Sie die Zeit haben, würde ich empfehlen auf jeden Fall lernen D. Worst-case-Szenario, werden Sie nie benutzen. Eher lernen Sie, welche Aspekte Sie am meisten mögen, und unter welchen Bedingungen es glänzt hellsten, und nehmen Sie den Vorteil, dass bei neuen Programmen.
Ich würde empfehlen, sich auf die D-Vergleichstabelleum zu sehen, was sind die Funktionen der Sprache, und sehen, ob es richtig klingt für Sie.
InformationsquelleAutor der Antwort Spodi
D Sprache ist modern. Keine Sprache ist perfekt, und es gibt keinen Zweifel daran. Aber Sprachen sind geboren, um das Leben leichter machen. Wo D Sprache im Vergleich zu C++ hat viele gute Eigenschaften, in Bezug auf die Komplexität. Viele andere Sprachkombination Spezialität beteiligt ist, die hilft Programmierern, um code schneller, mit TOP-features vorgestellt, die von anderen Sprachen. Siehe bitte auch:
für mehr details über D und andere Sprachen
D vs C++, ist die Kompatibilität, wo die riesigen C++ - Sprachen beteiligt sind und erfordert Kompatibilität mit D. D ermöglichen bereits 100% Kompatibilität mit C, das ist eine gute gewinnen immer noch.
D vs C++, C++ ist meiner Meinung nach sehr schöne Sprache, aber seine schwer zu Programmieren, und viel Zeit, erfordert mehr und mehr Erfahrung, um den Erfolg, aber D erlauben, das gleiche zu tun mit Einfachheit
D vs C++, ich bin nicht sicher, ob C++ nicht, aber D gestatten keine Typ-Einschränkung variable, Belegung mit "auto", die gut eine variable dynamisch, wenn benötigen, können Sie eine strikte
D vs C++, wenn Sie andere Sprache zu erleben, können Sie direkt loslegen, es hat einfach lernen "road-map", und seine erste entworfen von einem starken, erfahrenen team und Unternehmen unterstützen
D vs C++, das sehr schöne Sache fand ich von D, ist der code, der Stil, die es gibt das Aussehen und fühlen sich genau das gleiche wie C/C++ und der Programmierung erinnert Tue ich wirklich moderner C/C++ die sogenannte D
Gibt es viel mehr gute Gründe für D Sprache, es gibt keinen Grund zu leugnen, und jede Sprache, seiner immer die Benutzerauswahl.
InformationsquelleAutor der Antwort YumYumYum
Es hängt wirklich davon ab, was Ihre Bedürfnisse sind - den groß angelegten kommerziellen Anwendungen in D tun existiert auf der server-Seite, und für das D (in der Regel mit Tango/Mango) ist eine perfekte Passform, und Sie werden wahrscheinlich in der Lage sein zu dienen, die mehr Anforderungen als mit jeder anderen Sprache/Plattform.
Weitere spezialisierte Lösungen in Form von Protokollen und Interaktivität (was viele sind) haben Sie mehr Probleme beim finden der benötigten Bibliotheken, und das fehlen von Extras ist wahrscheinlich beeinflussen Sie mehr.
InformationsquelleAutor der Antwort larsivi
D ist ziemlich beeindruckend, und Andrei das Buch es ist gut geschrieben. Aber wie schon andere gesagt haben, müssen Sie die tools und die Plattform unterstützen. GDC kann, im Laufe der Zeit, die Antwort auf beide.
Haben Sie gesehen?
"GNU Debugger fügt D language support":
http://www.linux.com/news/enterprise/biz-enterprise/358956-gnu-debugger-adds-d-language-support
Auch, die digitalmars site hat Seiten diskutieren Schnittstelle zu C und C++ (für die Bibliotheken kann man einfach nicht Leben ohne). Ich Frage mich, ob es irgendwelche tools, die, gegeben einen C-header-Datei, nehmen Sie einen Stich an das schreiben der D-Prototypen.
Persönlich würde ich nicht an diesem Punkt drücken Sie für dabei ein großes Projekt in D, aber ich würde Verwendung D für in-house-tools, erste Erfahrungen mit der it und die Einführung von anderen.
Die ursprüngliche Frage war, ob D ist eine glaubwürdige alternative zu Java und C++. Ich glaube nicht, dass D und Java sind wirklich gehen, um zu konkurrieren in der Praxis viel; D konkurriert mit C++ und jetzt Gehen Sie. Andere Fragen behandeln die Unterschiede zwischen D und Gehen, doch Gehen Sie im Allgemeinen als einfacher zu verwenden. So vermute ich, dass die Zukunft von D hängt weitgehend davon ab, wie viel Raum es für ihn zu atmen zwischen C++, der aktuelle König des Hügels und Gehen, die viel einfachere alternative, hat Google ' s sichern.
UPDATE: ich habe gerade entdeckt, dass mein Lieblings Kapitel von Andrei Buchdie man auf Parallelität, ist kostenlos erhältlich online. Auf jeden Fall lesenswert!
Und hier ist ein laaaange Diskussion über die relativen Vorteile/Ziele/Ansätze Gehen und D.
InformationsquelleAutor der Antwort AmigoNico
Sieht es aus wie die Frage beantwortet wurde. D ist die bessere Sprache im Vergleich mit C++.
Die Frage, ob für praktische Zwecke D hat eine bessere Infrastruktur rund um, ist Sekundär.
Kurz gesagt, wenn Sie beide die Marke neue Sprachen, ohne jegliche Unterstützung um Sie herum D ist die bessere Sprache, ergo ist es die bessere Sprache.
InformationsquelleAutor der Antwort vfclists
Funktioniert Super für meine eigenen Lieblingsprojekte. Ich würde es nutzen für Arbeitgeber " - Projekte aber nicht zu wissen, wie schwer es für Sie wäre, jemanden zu finden, nehmen Sie über die Quelle nach der ich mich bewege. Es gibt keine technischen Gründe, es zu vermeiden, zumindest aber auf die unterstützten Plattformen. (klopf auf Holz)
InformationsquelleAutor der Antwort DarenW
Einem Ansatz ist die Suche nach jobs in Ihrer Nähe. Finden Sie die jobs, die Sie gerne tun und sehen, was Fähigkeiten, die Sie fordern. Wenn Sie Fragen zum C++ oder Ruby oder Oracle oder D, dann ist die Fertigkeit, die meist auf die Ihnen helfen, den job Sie wollen.
InformationsquelleAutor der Antwort Peter Lawrey
Als einer Sprache, die ich immer fühlte, dass D näher an C# als C++. Nicht in Funktionen und Bibliotheken, aber im "Gefühl". Es ist viel sauberer,schöner ... Spaß (als C++).
IMHO das größte Hindernis zu einer glaubwürdigen alternative tools,IDE und dem debugger. Wenn D überwindet einige Hindernisse der weitverbreiteten Verwendung/Einführung, weitere tools und Bibliotheken manifestieren wird. (Ich selbst zurück auf D, wenn es eine brauchbare IDE und dem debugger.)
InformationsquelleAutor der Antwort gerleim
Sieht es aus wie eine sehr gut gestaltete Sprache; viel besser als die C - C++ - Objective C.
Ich kann Leben, ohne ein IDE-oder ein debugger für eine Weile, aber nicht ohne eine gut dokumentierte Bibliothek für D 2.0.
Ich werde schauen Sie in 6 Monaten...
InformationsquelleAutor der Antwort