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