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