D is dead

Joakim dlang at joakim.fea.st
Thu Aug 23 17:38:13 UTC 2018


On Thursday, 23 August 2018 at 17:02:12 UTC, Shachar Shemesh 
wrote:
>
>
> On 23/08/18 18:35, Joakim wrote:
>> 
>> So your example of a fatal flaw is that D could be 100X faster 
>> at compilation instead of just 10X than most every other 
>> native language out there?! C'mon.
>
> Have you tried Stephan's example yet?
>
> static foreach(i; 0..16384) {}

I don't see any posts by a "Stephan" in this thread. I don't 
doubt that there are degenerate cases in D's compile-time 
features, particularly the new ones.

> Each problem on its own, maybe not. All together? Most 
> definitely.
>
> A language needs to be coherent. A programmer needs to be able 
> to look at code and know what the compiler will make of that 
> code. The less that can happen, the less useful the language is.
>
> This is, in fact, precisely the criticism the D community 
> levels against C++.

Ah, I see none of these are "fatal flaws," but they all combine 
together to create a fatal situation. That's an argument that can 
actually be defended, but not the one you started off making.

>> By this rationale, C++ should be dead by now. Why do you think 
>> it's fatal to D?
>
> C++ does not suffer from this *kind* of complexity. For the 
> most part, C++'s complexity is feature centric. You use a 
> feature, you need to really learn that feature in order to get 
> it to work.
>
> D's complexity is waiting to pounce you behind street corners. 
> You use a feature, and all's well. And then, when you're doing 
> stuff completely tangential to your old code, things suddenly 
> break.
>
> You can avoid C++'s complexity by not using features. The same 
> is not true of D.

Sorry, it sounds like you're simply saying you prefer one type of 
complexity to another. I'm not a C++ developer, but my 
understanding is it has many of the same problems as D, more 
because of backwards compatibility.

> With that said, who said these problems don't affect C++?

Nobody, that's my point in bringing it up.

>Had C++ not being plagued by these problems, D (and Rust, and Go,
> and so on) would probably never had been born. These are 
> languages written with the explicit hope of killing C++.
>
> They do not seem like they are going to, but D lacks quite a 
> few things that C++ has going for it. To name a few:
>
> * Large community
> * excellent tooling
> * large use base

My point was that C++ has always had what you believe to be the 
"fatal flaw" of incoherence, yet was able to build all those up. 
Walter has been there from the beginning and seen how C++ did it, 
perhaps his anarchy-driven development isn't so misguided after 
all.

>>> * Critical bugs aren't being solved
>>>
>>> People keep advertising D as supporting RAII. I'm sorry, but 
>>> "supports RAII" means "destructors are always run when the 
>>> object is destroyed". If the community (and in this case, 
>>> this includes Walter) sees a bug where that doesn't happen as 
>>> not really a bug, then there is a deep problem, at least, 
>>> over-promising. Just say you don't support RAII and 
>>> destructors are unreliable and live with the consequences.
>>>
>>> BTW: Python's destructors are unworkable, but they advertise 
>>> it and face the consequences. The D community is still 
>>> claiming that D supports RAII.
>> 
>> Maybe they're not critical to everyone else?
>
> Maybe. Just don't lie to users.

Is it a lie if you don't know about some bug in the 
implementation?

>> How much time or money exactly has Weka spent on getting this 
>> issue and other "critical" bugs fixed?
>
> Weka is paying prominent D developers as contractors. We've had 
> David Nadlinger and currently employ Johan Engelen. Both said 
> they are cannot fix this particular bug.
>
> If you can, feel free to contact me off-list, and I'm fairly 
> sure we can get the budget for you to work on it. The same goes 
> for anyone else on this list.

I'm sorry, I wouldn't know how to and am not interested in 
learning.

> We also contribute our own workarounds for D's shortcomings for 
> everyone to enjoy. This include DIP-1014 and Mecca, as well as 
> the less obvious upstreaming of bugs our contractors fix. This 
> is beyond the fact that our "fork" of the compiler is, itself, 
> public (https://github.com/weka-io/ldc). I think claiming that 
> Weka is leaching off the community is simply unwarranted.

Sure, but nobody claimed you're just leeching: I know you've 
contributed in various ways. But the question stands: were you 
able to apply time/money to get any _critical_ bugs fixed and 
upstreamed? If so, why don't you believe you could get more 
fixed? Nobody's asking you to do it all yourself, you could work 
with Sociomantic and the community to raise bounties on those 
issues.

>> It is fairly laughable for a company that raised $42 million 
>> to complain that a bunch of unpaid volunteers aren't fixing 
>> bugs fast enough for them:
>
> First of all, and this is important, I do not speak for Weka. I 
> can pass recommendations, and I can sometime estimate in 
> advance what will and what will not be approved, but that's it. 
> As *I* don't have 42 million dollars, I find that particular 
> criticism irrelevant (not to mention downright incorrect, as 
> pointed above).

I don't think it's irrelevant or incorrect, as that's essentially 
what you're doing. You may not officially represent Weka, but 
you're basically complaining that you can't get your work done 
properly with these bugs, which is done at Weka. That reflects on 
Weka, whether you like it or not.

> With that said, I am not complaining about anything. I am 
> stating the situation as I see it.

Yes, you're stating a giant complaint about the way things are 
being done.

> I understand it is uncomfortable to hear, and thus the 
> aggressiveness of your response.

The only part's that's uncomfortable is your continual rhetorical 
strategy to exaggerate, then when that's pointed out, to claim 
you're being "squashed" or "shamed."

I want accurate, substantive claims about D and feel no 
discomfort from such, some of which you've made. I'm only 
aggressive in trying to understand what the underlying roots of 
your unhappiness are and pointing out ways to fix it. You seem 
intent on casting that as something else.

> I can only point out the obvious: you shaming me will not make 
> me change my mind. At best, it will make me not say it publicly.

I think you misinterpret my questions. I've been trying to get 
you to add substance to your initial broad claims with all my 
posts and questions. That is an attempt to elicit real, 
substantial criticism, not silence or shame it.


More information about the Digitalmars-d mailing list