Ciò che determina il successo e la popolarità di un linguaggio di programmazione per lo sviluppo di software nel mondo reale è solo parzialmente correlato alla qualità del linguaggio stesso. Essendo un linguaggio puro, D ha probabilmente molti vantaggi rispetto a C ++ e Java. Per lo meno è un'alternativa credibile come linguaggio puro, a parità di altre condizioni.
Tuttavia, altre cose contano per lo sviluppo del software - quasi più del linguaggio stesso: portabilità (su quante piattaforme funziona), supporto per il debugger, supporto IDE, qualità standard della libreria, supporto dinamico della libreria, collegamenti per API comuni, documentazione, sviluppatore comunità, slancio e supporto commerciale, solo per citarne alcuni. Sotto ognuno di questi aspetti, D è irrimediabilmente dietro Java, C ++ e C #. In effetti, direi che è anche dietro i cosiddetti linguaggi di "scripting" come Python, Perl, PHP, Ruby e persino JavaScript in questo senso.
Per essere schietti, semplicemente non è possibile creare un'applicazione multipiattaforma su larga scala utilizzando D. Con una libreria standard immatura, nessun supporto in qualsiasi IDE moderno (ci sono plugin per Visual Studio e Xamarin Studio / MonoDevelop), limitato supporto di librerie dinamiche / condivise e pochi collegamenti ad altre lingue, oggi D non è più un'opzione.
Se ti piace quello che vedi di D, lo impari sicuramente, non dovrebbe volerci molto se conosci già Java e C ++. Non credo che l'evangelizzazione sarebbe utile - a questo punto se D avrà successo, ciò di cui ha davvero bisogno è che più persone lo usino in silenzio e affrontino le sue principali carenze come la libreria standard e il supporto IDE.
Infine, per quanto riguarda il C ++, mentre la maggior parte concorda sul fatto che la lingua sia troppo complessa, migliaia di aziende stanno usando con successo il C ++ come parte di un sano mix di lingue, consentendo solo un sottoinsieme più piccolo e ben definito della lingua. È ancora difficile battere C ++ quando sono richieste sia prestazioni non elaborate che utilizzo di memoria ridotta.