What are the worst parts of D?
Sean Kelly via Digitalmars-d
digitalmars-d at puremagic.com
Tue Sep 23 21:46:00 PDT 2014
On Wednesday, 24 September 2014 at 03:44:52 UTC, Walter Bright
wrote:
> On 9/23/2014 7:29 AM, Sean Kelly wrote:
>> The lack of clear direction or communication thereof. A
>> continual adding of new
>> stuff to try and appease the theoretical masses who will
>> certainly come flocking
>> to D if implemented, and a lack of attention paid to
>> tightening up what we've
>> already got and deprecating old stuff that no one wants any
>> more.
>
> I find this hard to reconcile with what the changelog says.
There's clearly been a lot of attention paid to bug fixes. But
for the rest... I feel like the overall direction is towards
whatever is currently thought to gain the most new users. The
thing is that D has already *got* me. What I want is for the
language I've already got to be polished until I can use it in a
freaking space telescope. I'm sick of "yes but" languages.
Every time I hit an obstacle in D I think "oh great, D is way
behind other languages in all these ways and D itself is broken
to boot. Why am I using this again?" And it could be a tiny
thing. It doesn't matter. Every little issue like that is
magnified a thousandfold because D is already such a hard sell.
So in that respect I understand the push for C++ support because
that's the speed bump that Andrei has hit. But here's the
thing... by pursuing this we're effectively focusing all of our
efforts *on another language*. And we're doing so when D itself
still needs a lot of work. Maybe not in any truly immense ways,
but as I said before, those tiny things can seem huge when you're
already struggling to justify just using the language at all.
Maybe all this will pull together into a cohesive whole, but so
far it feels kind of disconnected. So that's part of what I
meant by "tightening up."
>> And inconsistency in how things work in the language. Oh, and
>> function attributes.
>> I'm sure someone likes them, but I'm drowning in pure system
>> const immutable
>> @nogc @illegitemate @wtf hell.
>
> Fortunately, those attributes are inferred for template
> functions.
>
> I did try to extend that to auto functions, but got a lot of
> resistance.
Yes, the inference is very nice. And I do see the use for each
attribute. It's just... when I look at a function and there's a
line of attributes before the function declaration that have
nothing to do with what the function actually does but rather
with how it's implemented, it's just syntactic noise. It's
information for the compiler, not me as a user. I hope we'll
eventually get to the point where everything is inferred and the
attributes disappear entirely.
More information about the Digitalmars-d
mailing list