Last call on pattern switch (well, not really)

Brian Goetz brian.goetz at oracle.com
Thu Aug 13 21:18:56 UTC 2020


So, what happened is what always happens on mailing lists -- I put out a 
multi-page writeup reflecting hundreds of hours of research and 
incorporating years of discussion, and 99% of the discussion was a 
too-loud, back-and-forth thread on a relatively uninteresting corner 
case on the subject of whatever happened to be the first strongly-stated 
opinion.

The result is that we didn't have a substantive discussion on the other 
99% of the proposal, and some folks may even have been intimidated by 
the back-and-forth (see, for example, Tagir's comment: 
https://twitter.com/tagir_valeev/status/1293931093066997761) and held 
back on their feedback.  I would be very unhappy if we missed out on 
Tagir's feedback because we had made the environment inhospitable 
because of a long back-and-forth on a less important topic.

Let me reiterate some guidelines for discussion, that hopefully will 
keep us from finding ourselves in this corner too frequently.  I've said 
all this before, but its good to repeat once in a while.

  - Be aware that syntax discussions always suck up the oxygen. Once the 
syntax discussion starts, it is unlikely any substantive discussion on 
the more important issues will take root.  (With the right model, the 
right syntax can be found later; the wrong model can't be saved even 
with the best of syntax.)  So please, save these until you're confident 
that you -- and everyone else -- have said what have to say about goals, 
models, success metrics, and the like first.

  - Be mindful the shape of the reply chain.  The best discussions 
usually have wide but shallow trees, where many people comment, but no 
reply-chain goes too long.  The worst are usually long and narrow.

  - Lead with uncertainty.  Things usually start on the wrong foot if we 
lead with "X is wrong" or "You should do it Y way instead."  Better to 
ask rather than tell; there's a good chance that the proposal author has 
already spent a lot of time thinking about the problem and may already 
have considered X or Y, or there may be bigger-picture issues that have 
motivated the proposed direction.

  - The trivial crowds out the substantial.  We all have a tendency to 
"I'll just reply quickly with the trivial stuff", because that's easy 
and we're busy.  But very often these things tend to dominate the 
discussion.  Probably best to try to cover everything in your first 
draft (or ask questions if you're stuck) rather than send the trivial 
comments first.

Thanks for everyone's help in keeping the discussion moving in the right 
directions.  We need everyone's perspective here.

And for those of you who haven't reviewed the patterns-in-switch draft, 
please do ... the ship is leaving the dock soon.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/amber-spec-experts/attachments/20200813/df56985f/attachment.htm>


More information about the amber-spec-experts mailing list