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