Preview dynamics (was: Call for feedback -- enhanced switch)
Brian Goetz
brian.goetz at oracle.com
Mon Mar 4 20:06:46 UTC 2019
> On Mar 4, 2019, at 10:24 AM, Ben Evans <benjamin.john.evans at gmail.com> wrote:
>
> Hi Brian,
>
> Can you explain the urgency here?
This could be one of two questions:
- What is the urgency for promoting switch expressions to permanent in 13?
or
- What is the urgency for getting feedback so quickly, the window for 13 doesn’t close for a while?
I suspect you mean the latter, but let me address the former briefly. The motivation here is obvious: if we think the feature is good, we want people to be able to use it as soon as is practical. If we have to go through TWO rounds of preview, that means it is at least 15 months from the time the work is ready to push to the time people can gain value from it.
Assuming you agree that 13 is a reasonable target, let me address the second.
It may seem like there is “plenty of time”, but let’s work backwards from the deadline. The “feature freeze” for Java 13 is mid-June. That’s only 3-ish months away. In order to make the feature permanent, we need to file a JEP for this. That’s simple, but there are some lead-times in various JEP transitions (time for comment, etc), and we don’t really want to be pushing on the very last day. There are code change to make the feature permanent; there are spec changes to move the feature description to the main body of the spec. These take some time to prepare. And that’s all in the case where everything is perfect, and we have to “just push the button.”
But, what if there is nontrivial feedback? We will need time to act on it, and either (a) decide we are not going to permanent status for 13, or (b) try to address the issues, resulting in changes. These will take time to discuss, decide, implement, test, and push.
The reality is that the window for feedback, should we want to only have one round of preview, is pretty narrow. Hence, the timing of this memo: it would be really great if we got feedback NOW, rather than three months from now (when we’re already staring at a deadline.)
You may reply to all this “one round of preview is too short to get meaningful feedback.” And you might be right; it is pretty short. On the other hand, making people wait 15 months for a feature that is “probably done” is pretty long. Not clear which is worse.
> If this is going to be a permanent feature as of Java 13, the deadline
> for confirming that is surely months away, and I thought that one of
> the points of Preview Features was that the promotion to permanent was
> supposed to be a quick flick of the switch (no pun intended).
>
> On the other hand, Java 12 isn't even out yet! So no-one who isn't an
> avid early adopter, or subscribed to this group (& I posit that we're
> not exactly normal Java developers, for the most part) has tried this
> feature in anger.
>
> As Martijn pointed out, this feature has just landed in the nightly
> builds of IntelliJ - perhaps Trish or one of the other JetBrains folks
> can give us an idea of how many downloads they see for the nightlies?
> - that might give us some idea of how many developers have actually
> tried out the feature (although, of course, they are still a
> self-selecting early adopter group).
>
> Thanks,
>
> Ben
>
> On Fri, 1 Mar 2019 at 22:55, Brian Goetz <brian.goetz at oracle.com> wrote:
>>
>> We would like to promote enhanced switch to a permanent feature in Java 13. So far, the only change we are anticipating is:
>>
>> - change “break value” to “break-with value”.
>>
>> This is the time for people to try it out on their codebases (there’s even refactoring support in IDEA!) and provide feedback on what works, what doesn’t, and what was surprising.
>>
>>
More information about the amber-dev
mailing list