What started out as C with classes started acquiring this feature and
that feature until the whole thing is just a haphazard heap of
misfitting self-contradictory pieces, which requires an enormous amount of essentially-arbitrary rules just to clarify something as simple as,
for example, automatic type conversions.

Partially, this also can be told about D, too. It started as a cleaner C++ (I think) and grew up a bit complicated.

Before arguing the contrary, please remember that C++ looks not complicated to Stroustrup.

Maybe simply addressing the most bitter drawbacks and inconsistencies of C++ (and when I say that, I say notably syntax stupidities, *then* conceptual stupidities) was enough for, let's say, D_v1. Then, more, for D_v2. Maybe trying to address too much at once?

My feeling (I tried to port and work something in D) is that it is a good language. But a complicate one and the learning time tends to be limited today.

C caught in the first place for its simplicity. Java, too ("hey, no pointers!"). Annotations and other hell were added later, *after* the naguage got assimilated. C# too ("hey! C++ made *simpler*!"). Then it was C#2, 3, 4 etc. True, C++ grew up a complicated beast, but *gradually*. At the beginning, it was not.

D does not have that gradualism in growing complicated. Not for its developers, but for its (mass) users.

Reply via email to