That's a curious statement, because I was trained mainly as a
C/C++ programmer, and still use them for my job every day. I
was very well-versed in the intricacies of C, and somewhat C++,
yet I was very unhappy with them. For several years I would
scour the net during my free time to look for a better
language. I wasn't very impressed with D the first time I saw
it, for various reasons, and it wasn't until I found a copy of
TDPL in a local bookstore and decided on a whim to buy it, that
I really got started with D. And the rest, as they say, is
history. :D
Even though I suspect that I'm in the minority here, I'm pretty
sure there's got to be others out there in C/C++ land who are
like me, longing for a better language but just haven't found a
suitable candidate yet. So don't discount us C/C++ veteran
folk just yet!
My programming language at work remains C++ too, therefore I
agree that D's clean syntax is very attractive to C++ developers.
Java and C# are also "post-C++" languages, and thus their syntax
is closer to D (imports, reference types, etc). D's clean and
powerful syntax may not be as attractive to them.
Unfortunately C++ developers generally have to use this language
in cases where garbage collected languages like Java and C#
wouldn't be used.
So D's garbage collector may be a problem to convince most C++
professional developers, and D may not seem enough of an
improvement for most Java/C# professional developers.
But as it can teach both the C++ and the Java/C# way of
programming, as it's syntax has remained close to all of them, D
can indeed be "sold" as the best first OO programming language.
Learning C++, Java or C# afterwards is quite easy.
And once you have tried D, you probably will continue to use it
and promote it, like I do.