Why do you continue to use D?

welkam wwwelkam at gmail.com
Fri Jun 5 14:14:22 UTC 2020


On Friday, 5 June 2020 at 02:44:17 UTC, Manu wrote:
> 'Quickly'? 'Least amount of work'? Pfft... like what?

Oh boy I forgot that other people use a word work as a synonym 
for effort/time spent and that derailed everything. So I will try 
again.


You value (X). You see a lot of benefit of doing (X). Doing (X) 
have served you well over the years. (X) is good.

You write a proposal for D using (X). People do not immediately 
accept it so you do more (X) to convince them. If that didnt help 
you try to do (X) even harder. And if that didnt help you think 
to yourself that you just need to do (X) just a little bit harder.

Then you write another proposal and the pattern continues 
producing the same kind of problems again and again.

Maybe your proposals have enough of (X) and you have problems 
because you didnt do enough of (Y).

> `shared` is broken, I've done what work I can do alone, but if 
> it's rejected, other people need to step in and make a counter 
> proposal, <...> I know what we need to do with shared.

Whas it rejected or not accepted? Thats a big difference. 
Rejected means people thought its a bad idea. Not accepted might 
mean that people are not sure so they play safe. If its the later 
then changing proposal would not change the outcome.

> I don't know how to convince key folks that shared is really 
> important any more > than I am able to say "shared is really 
> important, and this opportunity depends > on it"...?

I know. Make sure that proposed changes do not negatively affect 
or block other valid ways of doing multithreading on all 
platforms(powerPC, GPUs, etc.). And describe how everything 
should work in all edge cases on all platforms. Then Walter would 
accept it.

Ofcourse you dont have to do that in one swing. You can start by 
writing a blog post describing lesions learned from game dev on 
how to do multithreading. What has been tried? What were the 
problems with those approaches? What is done now? How changes to 
shared would affect that? In a style of past, present, future 
covering as much cases as possible.
There are not that many people with the kind of experience you 
have. It would be nice if you could share it. Not only it will 
improve collective wisdom but also move us closer to a solution 
to shared.

Another approach that has value of its own and helps us move 
closer to fixing shared is to make compiler multithreaded. When 
compiler people(Walter) have to work with shared everyday it 
would be much easier to explain certain things.

P.s. My previous post was not intended to insult, belittle or 
otherwise negatively affect you. If that happened I am sorry and 
will try express my thoughts in different way


More information about the Digitalmars-d mailing list