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