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) {}

Do give it a shot, tell me what you think of its compilation time.

On Thursday, 23 August 2018 at 09:09:40 UTC, Shachar Shemesh wrote:
* Features not playing well together.

Despite what Joakim seems to think, I've actually brought up an example in this thread.

Despite what you seem to think, perhaps because you didn't read what I wrote very closely, I noted your bugzilla link in my post you're quoting and asked you if you really thought it was fatal.

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++.

Yes, this is a known problem with D: why do you think it's fatal?
See above.


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.

With that said, who said these problems don't affect C++? 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


* 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.

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.

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.

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).

With that said, I am not complaining about anything. I am stating the situation as I see it. I understand it is uncomfortable to hear, and thus the aggressiveness of your response. 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.

Shachar

Reply via email to