On the panel discussion at Dconf day 3

Adam Wilson flyboynw at gmail.com
Sun Sep 10 02:12:17 UTC 2023


On Saturday, 9 September 2023 at 19:06:24 UTC, ryuukk_ wrote:
> On Saturday, 9 September 2023 at 17:27:05 UTC, Paul Backus 
> wrote:
>> On Thursday, 7 September 2023 at 18:31:10 UTC, ryuukk_ wrote:
>>>> Ideas for new features for D have been deferred for the time 
>>>> being
>>>
>>> This is the saddest thing ever, i've been waiting for tagged 
>>> union / tuple since forever
>>>
>>> IVY = bureaucracy + religion, recipe for disaster, and we are 
>>> already seeing the effects: the language is now in a deep 
>>> freeze state
>>
>> On a project of D's size and scope, there is no such thing as 
>> "no bureaucracy." The only choice is between explicit, formal 
>> bureaucracy that's been designed intentionally; and implicit, 
>> informal bureaucracy that's been designed by accident.
>>
>> What we currently have is the implicit, informal kind of 
>> bureaucracy, which has all the disadvantages (hard to get 
>> things done) without any of the potential advantages (easy to 
>> keep track of what's being done and who's responsible). Moving 
>> away from this towards a more explicit system should be an 
>> easy win.
>
> I don't buy any of this, this is just a way to distance 
> yourself from the people who actually use the language and want 
> to solve problems, what tools are in there for those who don't 
> want to use EH/GC? nothing, does IVY has the answer? does IVY 
> people know how to program in C, do they know what competition 
> is doing?
>
> Tuple DIP predates this IVY thing, what are the excuses

For the moment EH is a problem, but it's known problem, and one 
that was discussed at length at DConf. From what I gathered 
Walter wants to move in the direction of a Herb Sutter style 
system where exceptions are returned up the stack silently via a 
shadow value in the return statement. It's actually a pretty 
elegant solution. It's not here now because of the pause, but 
it's coming because Walter wants it.

GC. Two points.

First there is @nogc and -vgc. Turn those on and the GC won't 
run. If your contention is that you want to use some parts of the 
language that use the GC, well, frankly, that's just too bad, 
your choices are either don't use those parts or submit a PR to 
rewrite those bits to not use the GC. Fortunately most of Phobos 
is available without the GC so I don't really see what the 
problem is.

Second, if your contention is that the GC *exists at all* and 
that's bad and it should be removed... I have bad news. I asked 
Walter whether or not he would ever sanction removing the GC and 
his answer was "Never. GC code is inherently memory safe code." 
which means that as memory safety is one of D's key selling 
points, the GC is here to stay. In fact there are efforts 
underway to improve the performance of the GC considerably.

Tools exist to disable the GC at runtime, if you don't want the 
GC, use them. The rest of us will happily go on using the GC and 
this is a non-issue.


More information about the Digitalmars-d mailing list