Was den Erfolg und die Popularität einer Programmiersprache für die reale Softwareentwicklung bestimmt, hängt nur teilweise von der Qualität der Sprache selbst ab. Als reine Sprache hat D wohl viele Vorteile gegenüber C ++ und Java. Zumindest ist es eine glaubwürdige Alternative als reine Sprache, alle anderen Dinge sind gleich.
Für die Softwareentwicklung sind jedoch andere Dinge wichtig - fast mehr als die Sprache selbst: Portabilität (auf wie vielen Plattformen wird sie ausgeführt), Debugger-Unterstützung, IDE-Unterstützung, Standardbibliotheksqualität, dynamische Bibliotheksunterstützung, Bindungen für allgemeine APIs, Dokumentation, Entwickler Community, Dynamik und kommerzielle Unterstützung, um nur einige zu nennen. In jeder Hinsicht steht D hoffnungslos hinter Java, C ++ und C #. Tatsächlich würde ich behaupten, dass es in dieser Hinsicht sogar hinter sogenannten "Skriptsprachen" wie Python, Perl, PHP, Ruby und sogar JavaScript steckt.
Um ehrlich zu sein, können Sie mit D einfach keine plattformübergreifende Großanwendung erstellen. Mit einer unreifen Standardbibliothek wird keine Unterstützung in modernen IDEs (es gibt Plugins für Visual Studio und Xamarin Studio / MonoDevelop) eingeschränkt Unterstützung für dynamische / gemeinsam genutzte Bibliotheken und wenige Bindungen an andere Sprachen. D ist heute einfach keine Option mehr.
Wenn Ihnen das, was Sie von D sehen, gefällt, lernen Sie es auf jeden Fall - es sollte nicht lange dauern, wenn Sie Java und C ++ bereits kennen. Ich denke nicht, dass Evangelisation hilfreich wäre - an diesem Punkt, wenn D erfolgreich sein soll, braucht es wirklich mehr Leute, die es leise nutzen und seine Hauptmängel wie Standardbibliothek und IDE-Unterstützung beheben.
Was C ++ betrifft, so sind sich die meisten einig, dass die Sprache zu komplex ist, aber Tausende von Unternehmen setzen C ++ erfolgreich als Teil eines gesunden Sprachmix ein, indem sie nur eine kleinere, genau definierte Teilmenge der Sprache zulassen. Es ist immer noch schwer, C ++ zu schlagen, wenn sowohl rohe Leistung als auch geringe Speichernutzung erforderlich sind.