Dicebot on leaving D: It is anarchy driven development in all its glory.

Laeeth Isharc Laeeth at laeeth.com
Mon Aug 27 01:15:49 UTC 2018


On Sunday, 26 August 2018 at 08:40:32 UTC, Andre Pany wrote:
> On Saturday, 25 August 2018 at 20:52:06 UTC, Walter Bright 
> wrote:
>> On 8/25/2018 3:52 AM, Chris wrote:
>>> On Friday, 24 August 2018 at 19:26:40 UTC, Walter Bright 
>>> wrote:
>>>> Every programmer who says this also demands new (and 
>>>> breaking) features.
>>> "Every programmer who..." Really?
>>
>> You want to remove autodecoding (so do I) and that will break 
>> just about every D program in existence. For everyone else, 
>> it's something else that's just as important to them.
>>
>> For example, Shachar wants partially constructed objects to be 
>> partially destructed, a quite reasonable request. Ok, but 
>> consider the breakage:
>>
>>   struct S {
>>     ~this() {}
>>   }
>>
>>   class C {
>>     S s;
>>
>>     this() nothrow {}
>>   }
>>
>> I.e. a nothrow constructor now must call a throwing 
>> destructor. This is not some made up example, it breaks 
>> existing code:
>>
>>   https://github.com/dlang/dmd/pull/6816
>>
>> If I fix the bug, I break existing code, and apparently a 
>> substantial amount of existing code. What's your advice on how 
>> to proceed with this?
>
> In the whole discussion I miss 2 really important things.
>
> If your product compiles fine with a dmd version, no one forces 
> you to update to the next dmd version. In the company I work 
> for, we set for each project the DMD version in the build 
> settings. The speed of DMD releases or breaking changes doesn't 
> affect us at all.
>
> Maybe I do not know a lot open source products but the amount 
> of work which goes into code quality is extremely high for the 
> compiler, runtime, phobos and related products. I love to see 
> how much work is invested in unit tests and also code style.
>
> DMD (and LDC and GDC) has greatly improved in the last years in 
> various aspects.
>
> But I also see that there is a lot of work to be done. There 
> are definitely problems to be solved. It is sad that people 
> like Dicebot leaving the D community.
>
> Kind regards
> Andre

Dicebot should speak for himself as he wishes.  But I was 
entertained by the simultaneous posting by someone else of a blog 
post from a while back with him asking for comments on the early 
release of dtoh, a tool intended in time to be integrated into 
DMD given its design.

I don't think he was very happy about the process around DIP1000 
but I am not myself well placed to judge.

In any case, languages aren't in a death match where there can be 
only one survivor.  Apart from anything else, does anyone really 
think less code will be written in the future than in the past or 
that there will be fewer people who write code as part of what 
they do but aren't career programmers?

I probably have an intermediate experience between you and Jon 
Degenhardt on the one hand and those complaining about breakage.  
Some of it was self-inflicted because on the biggest project we 
have 200k SLoC a good part of which I wrote myself pretty quickly 
and the build system has been improvised since and could still be 
better.  The Linux builder is a docker container created nightly 
and taking longer to something similar on Windows side, where 
funnily enough the bigger problems are.  Often in the past little 
things like dub turning relative paths into absolute ones, 
creating huge paths that broke DMD path limit till we got fed up 
and decided to fix ourselves.  (Did you know there are six extant 
ways of handling paths on Windows?)

Dub dependency resolution has been tough.  It might be better 
now. I appreciate it's a tough problem but somehow eg maven is 
quick (it might well cheat by solving an easier problem).

And quite a lot of breakage in vibe.  But nobody forces you to 
use vibe and there do exist other options for many things.

Overall though, it's not that bad depending on your use case.  
Everything has problems but also everyone has a different kind of 
sensitivity to different kinds of problems.

For me, DPP makes a huge difference because I now know it's 
pretty likely I can just #include a C library if that's the best 
option and in my experience it mostly just works.

The plasticity, coherence and readability of D code dominates the 
difficulties for quite a few things I am doing.  Might not be the 
case for others because everyone is different.  Cost of my time 
in the present context dominates cost of several programmers' 
time but I don't think thats a necessary part of why D makes 
sense for some things for us.  I think by the end of this year we 
might have eleven people including me writing D at least 
sometimes, from only me about 18 months ago.  That's people 
working from the office including practitioners who write code 
and add a handful of remote consultants who only write D to that.

There's no question from my perspective that D is much better 
than a year ago and unimaginably better from when I first picked 
it up in 2014.  One can't be serious suggesting that D isn't 
flourishing as far as adoption goes.

The forum really isn't the place to assess what people using the 
language at work feel. Almost nobody working from our offices is 
active in the forums and that's the impression I get speaking to 
other enterprise users.  People have work to do, unfortunately!

I wonder if the budget was there whether it would be possible to 
find someone even half as productive as Seb Wilzbach to help 
full-time, because whilst some of the problems raised are very 
difficult ones, others might just be a matter of (very high 
quality) manpower.  Michael Parker's involvement has also made a 
huge difference to public profile of D.

I definitely think a stable version with backfixes ported would 
be great if feasible.

I don't really get the hate for betterC even though I don't 
directly use it myself in code I write.  It's useful directly for 
lots of things like web assembly and embedded and a side effect 
from Seb's work on betterC testing for Phobos will I guessbe that 
it's much clearer how much can be used without depending on the 
GC because that's what betterC also implies.  Is it really such 
an expensive effort ?

Beyond real factors it also helps with perception and social 
factors.  I feel like I came across more HFT programmers or 
people who claim to be such in Reddit and who could, they  say, 
never  even stare too closely at  a GC  language than in the 
industry itself!

Would be great if Manu's work on STL and extern (C++) comes to 
fruition.  I think DPP will work for much more of C++ in time, 
though it might be quite some time.

I wonder if we are approaching the point where enterprise 
crowd-funding of missing features or capabilities in the 
ecosystem could make sense.  If you look at how Liran managed to 
find David Nadlinger to help him, it could just be in part a 
matter of lacking social organisation preventing the market 
addressing unfulfilled mutual coincidences of wants.  Lots of 
capable people would like to work full time programming in D.  
Enough firms would like some improvements made.  If takes work to 
organise these things.  If I were a student I might be trying to 
see if there was an opportunity there.


More information about the Digitalmars-d mailing list