Reddit: why aren't people using D?

Walter Bright newshound1 at digitalmars.com
Wed Jul 22 23:26:12 PDT 2009


Nick Sabalausky wrote:
> Better is just plain better. If you've got two things available, and one is 
> better, it just doesn't make any sense to stick with the worse one if the 
> only reason to do so is inertia. That would be plain laziness.

It does take time and effort to learn a new tool, and that effort needs 
to be less than the expected gain.

> All of the following *individually* (ie, not just as a lump sum) are things 
> for which I've always considered well worth leaving C/C++ in the history 
> books where it belongs:
> 
> - No separate header/implementation files. (IMO, the king of all language 
> anachronisms.)
> 
> - Non-null-terminated, slicable strings.
> 
> - Strong typing (Unless things have changed since I last looked, I refuse to 
> accept C/C++ as *truly* strong-typed. Hell, most modern dynamic languages 
> have more right to be called strongly-typed than C/C++.)
> 
> - True delegates and function literals.
> 
> - A sensible foreach instead of that horrid stl iterator mess. (And this 
> opinion of mine was formed long before Andrei's ranges.)
> 
> - Metaprogramming that isn't a kludge (I'm looking at both the C 
> preprocessor and the use of C++'s templates for anything beyond mere 
> generics).
> 
> - The availability of build tools that make manual dependency-tracking (not 
> to mention those god-awful "*make" programs) obsolete.
> 
> - "finally" (Or does C++ have this now too?) which fixes a fatal flaw in 
> old-style exception handling (not to mention scope guards which even make 
> "finally" look primitive, at least where applicable).

My experience with C++ people sticking with it is they are so used to 
the problems they no longer see them. To me it's like the mess in one's 
house. One doesn't notice it until going on a vacation (i.e. learning a 
another language), having one's hotel room cleaned every day, then 
coming home and suddenly seeing how untidy it is <g>.


> If you have any of these available, why *not* use them? Sure, D has it's 
> well-known issues, but they're nothing compared to any of the above problems 
> with C/C++. Hell, the last few times I used C/C++, the *only* reason was 
> because it was the only viable systems language I was aware of.

The bizarre arguments I've seen are along the lines of "I don't want to 
use D because although it has X and Y which I love, it doesn't have Z 
and I really need Z", so they use C++ (or Java or C# or Python) which 
doesn't have X, Y, or Z.



More information about the Digitalmars-d mailing list