<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Thu, Sep 20, 2018 at 5:47 PM Tagir Valeev <<a href="mailto:amaembo@gmail.com">amaembo@gmail.com</a>> wrote:<br></div><div dir="ltr"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div dir="auto">Yes, it's a little bit hard to migrate between block body - expression body - method reference. However we already have this problem in lambdas, and we are living with this without much hassle. That's because every decent IDE can convert between these forms for you. </div><div dir="auto"><br></div><div dir="auto">Btw IDEA has an action to convert Kotlin block method body to expression form and vice versa. If course we will add similar feature for Java.</div></div></blockquote><div><br></div><div>I should clarify that when I talk about the hassles of going back and forth between two equivalent ways of doing the same thing, the mechanical cost in keystrokes is just one part of it, and I'm not even claiming it's a big part. There's also</div><div><br></div><div>- Having to decide which to use</div><div>- Having to decide how much to care about consistency between a series of similar constructs (should I change them all because I'm changing one?)</div><div>- Having wider diffs when reviewing or merging</div><div>- Discussions developing about "why did you do it this way and not that way"</div><div><br></div><div>These are all reasons why having two ways to do the same thing is undesirable.</div><div><br></div><div>Sometimes the advantages of having two ways to do the same thing outweigh those factors. I believe this happens when:</div><div><br></div><div>- Both ways have compelling use cases for when it is a <i>substantially</i> better choice</div><div>- How to <i>tell</i> which way is better is easy for users to learn and remember</div><div><br></div><div>This shows why arrowform switch clears the bar. It's easy to remember "just use arrowform unless I need fallthrough", and it's clearly substantially better to do so.</div><div><br></div><div>I would like to see this JEP make a much clearer case for why it also clears this bar.</div><div><br></div><div><br></div></div></div>