I was writing of enthusiast and professional C++ programmers, not hobbiests. No, most OSS C++ programmers have not heard of D. People involved in research, graphics, scenes, games, or those with a driving interest in C++ know of D, and many would [have] like(d) to see it succeed. D is already the better language -- all that is missing is tool support and third-party libraries, and a stable D2 release. Runtime issues are overstated: for D1 use Tango (and Tangobos); for D2, druntime was made. I cannot vouch for D performance because I do not use it, but we have used D inhouse for prototyping (demos) and intermediate (temporary language bindings) purposes. Performance was never a raised issue. D is far from dead, just look at the
mailing lists. Alexandrescu (of C++/Boost/Loki/
STL 'ranges' fame)
supports it and published a
book last June.
I think we have a large misunderstanding. I am not advocating D, or C for that matter. D is not currently enticing to new programmers. It is ready for the experienced however, those working daily with languages like C++, and to be studied for modern programming concepts (generic programming, DbC) or those interested in systems programming. Ocaml, Oz, F#, Haskell, Erlang, Scala, Smalltalk, and Clojure should all be studied for the same reason. D's future isn't of importance; its relevance is. I lost the notion D would succeed when C++0x excitement became widespread. Programming houses will wait for 0x to hit before considering porting their entire codebases to an unproven language.
C still has its uses in writing tightly coupled, critical functions for binding to higher-level languages. C# isn't as slow as you might think. Notably, Singularity (MS' new OS concept) is written in C#, Unity3D engine uses C# for scripting, and more than a few games are written in C#. C# speed is rarely a concern for anyone but researchers. Except, C# is not perfect. Interoping with lots of unmanaged code is torture. DirectX requires the use of a third-party API, SlimDX, and Mono still has many issues, particularly WinForms, and XNA (the way forward) is not supported at all. C# is also reviled by OSS zealots, but for unrelated reasons.
... C++ is a pain in the ass, but at least with mechanisms such as Boost's auto_ptr and the STL you are less likely to be a danger to your users.
Did you mean
boost::shared_ptr?
std::auto_ptr is part of the SC++L, not the STL, and
std::auto_ptr is not a panacea. And reference counting in C is not unheard of. Even the Linux kernel does it.
P.S.: I meant to type Reddit earlier, not Digg. Dunno how I confused those. Digg is...
ugh.