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.