Walter and Andrei and community relationship management

Olivier FAURE via Digitalmars-d digitalmars-d at puremagic.com
Thu Apr 6 06:55:43 PDT 2017


On Thursday, 6 April 2017 at 07:24:28 UTC, Nick B wrote:
> I'm going to address this post to Walter and Andrei, as the 
> joint captains of the D ship, so to speak.
>
> [...]
>
> For the community, it seems different rules apply. In-depth 
> news-groups discussions for new proposals are firstly 
> encouraged and then later discouraged, with the ultimate
> response that the proposal MUST be in the form of a 
> time-consuming DIP, to be considered, even if it will 
> ultimately wastes everyone time, and cause resentment in the 
> community.

Agreed.

I don't want to make any assumptions, and I do respect Walter for 
consistently taking on a role that means that people keep 
criticizing his choices whatever he does, but his approach to 
dealing with the community is undeniably flawed, and seems to be 
breeding a lot of frustration and resentment.

My personal example is from a discussion we had in February about 
'return scope', where Walter Bright asked deadalnix to explain 
his case, and explain the problems he saw. At the time, deadalnix 
(and other users) replied that they didn't want to make their 
cases, because they had already done so in the past, and they 
expected Walter to ignore whatever they would tell him.

http://forum.dlang.org/post/o6h3re$26lo$1@digitalmars.com

I outlined several problems I saw with return scope, and Walter 
replied to my post, answering each point I made. And while it's 
commendable that Walter took the time to do it, those answers 
felt extremely frustrating to me; Walter did *not* address my 
points, and did not take what I was saying seriously. As an 
example, one of the problems I pointed out was:

> It only addresses cases where a reference might be escaped 
> through a single return value; it doesn't address escaping 
> through 'out' parameters,

The following conversation ensued:

Walter:
> Yes it does (the general case is storing a value into any data 
> structure pointed to by an argument).

Me:
> I don't understand. Let's say I have an arbitrary class 
> 'Container', and I want a function that stores a pointer to an 
> int in this container, in a way that lets the function's caller 
> know that the int* given to it will last only as long as the 
> container, and I want to do it without return values. The 
> prototype would be akin to
>
>     void store(ref <scope-info> Container cont, <scope-info> 
> int* ptr);
>
> And the code it would be used in would look like:
>
>     {
>         scope Container c;
>         scope int*      ptr = ...;
>
>         store(c, ptr);
>     }
>
> What would the syntax be?

Walter:
>     c.ptr = ptr;
>
> You can also do:
>
>     ref Container store(ref return scope c, return scope int* 
> ptr);

The rest of the conversation basically went like this:
Me: This isn't possible, or if it is, it shouldn't be.
Walter: Yes it is. It compiles.
Me: Okay, but it shouldn't compile, because it make [invalid 
write error] possible.
Walter: Well, it doesn't compile with @safe.
Me: Yes, it does compile with @safe, and no, it shouldn't, and my 
point from the beginning was that your model made that kind of 
function impossible. Why do you think we're even talking about 
this?

In short, Walter asked for people to give their opinions on the 
subject; but when I did give my opinion, Walter did not take my 
points seriously, and basically assumed that the only reason I 
disagreed with him was that I didn't understand the subject as 
well as he did. Other people (including Dicebot) have complained 
about that.

This was a very frustrating experience, and I did not want to 
participate in the discussions about Dlang any further after that.

Look, again, I feel bad trash-talking Walter. He's putting a lot 
of effort into this. But he's clearly really, really bad at 
listening to other people. This has to be addressed at some point.


More information about the Digitalmars-d mailing list