D is dead (was: Dicebot on leaving D: It is anarchy driven development in all its glory.)
Iain Buclaw
ibuclaw at gdcproject.org
Thu Aug 23 07:37:07 UTC 2018
On Thursday, 23 August 2018 at 06:58:13 UTC, Joakim wrote:
> On Thursday, 23 August 2018 at 03:50:44 UTC, Shachar Shemesh
> wrote:
>> On 22/08/18 21:34, Ali wrote:
>>> On Wednesday, 22 August 2018 at 17:42:56 UTC, Joakim wrote:
>>>> Pretty positive overall, and the negatives he mentions are
>>>> fairly obvious to anyone paying attention.
>>>
>>> Yea, I agree, the negatives are not really negative
>>>
>>> Walter not matter how smart he is, he is one man who can work
>>> on the so many things at the same time
>>>
>>> Its a chicken and egg situation, D needs more core
>>> contributors, and to get more contributors it needs more
>>> users, and to get more users it need more core contributors
>>>
>>
>> No, no and no.
>>
>> I was holding out on replying to this thread to see how the
>> community would react. The vibe I'm getting, however, is that
>> the people who are seeing D's problems have given up on
>> affecting change.
>>
>> It is no secret that when I joined Weka, I was a sole D
>> detractor among a company quite enamored with the language. I
>> used to have quite heated water cooler debates about that
>> point of view.
>>
>> Every single one of the people rushing to defend D at the time
>> has since come around. There is still some debate on whether,
>> points vs. counter points, choosing D was a good idea, but the
>> overwhelming consensus inside Weka today is that D has *fatal*
>> flaws and no path to fixing them.
>>
>> And by "fatal", I mean literally flaws that are likely to
>> literally kill the language.
>>
>> And the thing that brought them around is not my power of
>> persuasion. The thing that brought them around was spending a
>> couple of years working with the language on an every-day
>> basis.
>>
>> And you will notice this in the way Weka employees talk on
>> this forum: except me, they all disappeared. You used to see
>> Idan, Tomer and Eyal post here. Where are they?
>>
>> This forum is hostile to criticism, and generally tries to
>> keep everyone using D the same way. If you're cutting edge D,
>> the forum is almost no help at all. Consensus among former
>> posters here is that it is generally a waste of time, so
>> almost everyone left, and those who didn't, stopped posting.
>>
>> And it's not just Weka. I've had a chance to talk in private
>> to some other developers. Quite a lot have serious,
>> fundamental issues with the language. You will notice none of
>> them speaks up on this thread.
>>
>> They don't see the point.
>>
>> No technical project is born great. If you want a technical
>> project to be great, the people working on it have to focus on
>> its *flaws*. The D's community just doesn't do that.
>>
>> To sum it up: fatal flaws + no path to fixing + no push from
>> the community = inevitable eventual death.
>
> Can you list what you or other Weka devs believe those fatal
> flaws to be? Because you've not listed any here, which makes
> you no better than some noob that comes in here, says D has to
> get better or it will die, then can't articulate what they mean
> by "better" or worse, mentions something trivial. Of course,
> you've actually used the language for years, so presumably
> you've got some real concerns, but do you really think the bug
> you just posted is "fatal" to the language?
>
> If you think there are fatal flaws, you might as well list
> them, whether technical or the development process, or you will
> just be ignored like any other noob who talks big and can't
> back it up. You may be ignored anyway, ;) but at least you'll
> have made a case that shows you know what you're talking about.
I'd define fatal as some that can be fixed, but breaks 100% of
everyone's code, even if the change is net positive all round.
However how big a problem really is is in the eye of the
beholder. An example:
Symptom: The compiler can't discard unused symbols at compile
time, and so it will spend a lot of time pointlessly optimising
code.
Problem: D has no notion of symbol visibility.
Possible Solution: Make all globals hidden by default unless
'export'.
Side effects: Everyone will be spending weeks to months fixing
their libraries in order to only mark what should be visible
outside the current compilation unit as 'export'.
Benefits: Faster compile times, as in, in the most extreme
example I've built one project on github with gdc -O2 and build
time went from 120 seconds to just 3!
Iain.
More information about the Digitalmars-d
mailing list