Reddit: why aren't people using D?

Nick Sabalausky a at a.a
Wed Jul 22 22:49:07 PDT 2009


"Michiel Helvensteijn" <m.helvensteijn.remove at gmail.com> wrote in message 
news:h47v8p$131i$1 at digitalmars.com...
>
> D just doesn't offer enough improvements over C++ to make it worthwhile
> switching over.
>

Even as a former die-hard C/C++ user, I've never really understood this 
argument. But, I'm not in the "you have to try it / sum of it's parts" camp 
either...

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.

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).

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.





More information about the Digitalmars-d mailing list