>>10
1. The builtin Garbage Collector
You can disable it and manage your memory by hand, unlike
Go
2. There are practically only two usable compilers (dmd and dmd2)
I have to agree, but the dmd2 is good enough for now.
What does D do, that C++ can't do? It's obvious that everything you can do in C++, you can do in D, and vice versa.
Well, you know, they are both Turing-complete. But D has
much nicer metaprogramming facilities, doesn't inherit nothing of the bad things of C and has pointers. It has built-in dynamic arrays instead of buggy vectors in the standard library, therefore it also has safe strings. You can still have 0-termined strings with
char* and
'0', IIRC.