htcz, on 20 February 2012 - 21:26, said:
C# is the future. It overtook D in a matter of months.
They don't have the same purpose; C# is meant for application development, D (and C++) is for systems programming.
That said, I want to agree that C# pretty much pwns everything at the moment. It has been used to develop operating systems (
1,
2), so it's demonstrated its viability for systems programming even though that's not its original vocation. D looks very well-designed, seemingly better than C# (at least the way it handles generics and compile-time evaluation of functions), but it's not a CLI language and as such it's isolated from the rich ecosystem of libraries and languages built around .NET.
A lot of platforms today don't support .NET, and by platforms I mean every piece of electronic equipment we use including computer hardware (device drivers), routers, cars, airplanes, gps, etc. Then again, they often only support C (not even C++!), so there's little hope for D there as well.
So, for D, the only avenue I see is for new performance-critical components for PC applications, which would currently require C++. Whenever performance is not an absolute, a .NET language will be better simply because of the interoperability with .NET libraries and other CLI languages.