To, co decyduje o sukcesie i popularności języka programowania do tworzenia oprogramowania w świecie rzeczywistym, jest tylko częściowo związane z jakością samego języka. Jako czysty język, D prawdopodobnie ma wiele zalet w porównaniu z C ++ i Javą. Przynajmniej jest to wiarygodna alternatywa jako czysty język, przy czym wszystkie inne rzeczy są równe.
Jednak inne rzeczy mają znaczenie dla tworzenia oprogramowania - prawie więcej niż sam język: przenośność (na ilu platformach działa), obsługa debuggera, obsługa IDE, standardowa jakość bibliotek, obsługa bibliotek dynamicznych, powiązania dla wspólnych interfejsów API, dokumentacja, programista społeczność, rozmach i wsparcie komercyjne, żeby wymienić tylko kilka. Pod każdym względem D jest beznadziejnie za Javą, C ++ i C #. W rzeczywistości, argumentowałbym, że pod tym względem stoi on nawet za tak zwanymi językami „skryptowymi”, takimi jak Python, Perl, PHP, Ruby, a nawet JavaScript.
Mówiąc szczerze, po prostu nie możesz zbudować wieloplatformowej aplikacji na dużą skalę przy użyciu D.Z niedojrzałą standardową biblioteką, brak wsparcia w żadnym nowoczesnym IDE (istnieją wtyczki zarówno dla Visual Studio, jak i Xamarin Studio / MonoDevelop), ograniczone Obsługa bibliotek dynamicznych / współdzielonych i kilka powiązań z innymi językami, D po prostu nie jest dziś opcją.
Jeśli podoba Ci się to, co widzisz w D, naucz się tego - nie powinno to zająć dużo czasu, jeśli znasz już Javę i C ++. Nie sądzę, żeby ewangelizacja była pomocna - w tym momencie, jeśli D ma odnieść sukces, to, czego naprawdę potrzebuje, to więcej ludzi cicho z niego korzystających i zajmujących się jego głównymi niedociągnięciami, takimi jak obsługa biblioteki standardowej i IDE.
Wreszcie, podobnie jak w przypadku C ++, chociaż większość zgadza się, że język jest zbyt złożony, tysiące firm z powodzeniem używają C ++ jako części zdrowej mieszanki języków, zezwalając tylko na mniejszy, dobrze zdefiniowany podzbiór języka. Nadal trudno jest pokonać C ++, gdy wymagana jest zarówno surowa wydajność, jak i niewielkie zużycie pamięci.