<div dir="auto">Any opinions are most welcome, so don't resist making a remark if you have something to say.<div dir="auto"><br></div><div dir="auto">I personally made my point about this readability issue in my second mail, and I don't mind to repeat that code should speak for itself with words, not places of definitions. There are only two possibilities: you either read code and understand what it does just by what is written, or you hover over the code and IDE does the trick for you. That's why I honestly don't consider readability as issue. Also, I wouldn't say nested utility method invocations are more readable then extensions, especially with fluent interfaces like builders or streams, when you essentially have to read backwards in processing chain, so in my opinion, extensions on the contrary enhance readability. Noone ever will suffer instead of Arrays.sort(arr) one will see arr.sort(). In fact, second looks better, isn't it? So, in my opinion, in most cases extensions enhance readability. And for the record: I also agree that readability is significantly more important.</div><div dir="auto"><br></div><div dir="auto">Offtop about checked exceptions: I guess the biggest deal with them is in lambdas, so maybe they can be ignore in lambdas at least? Haven't really studied this subject, just something from the top of my head</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 23, 2024, 19:43 Archie Cobbs <<a href="mailto:archie.cobbs@gmail.com" target="_blank" rel="noreferrer">archie.cobbs@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>I can no longer resist jumping in with an opinion... :)</div><div><br></div><div>From [compiler-dev]:</div><div><div dir="ltr">On Tue, Apr 23, 2024 at 10:36 AM Ethan McCue <<a href="mailto:ethan@mccue.dev" rel="noreferrer noreferrer" target="_blank">ethan@mccue.dev</a>> wrote:</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">What's
 going to suck to hear, but I think that you'll come around eventually, 
is that extension methods do not improve code readability. They make it 
harder to read o<font face="monospace">.method() </font><font face="arial, sans-serif">since it would be ambiguous whether </font><font face="monospace">.method</font><font face="arial, sans-serif"> is an instance method or an extension method.*</font><div><font face="arial, sans-serif"><br>They
 *do* make it easier to write programs though. Without them you do have 
to write more characters and you do sometimes have to break up method 
chains.<br><br>Historically, given a choice between code readability and code writability/terseness, Java has erred towards the first.<br></font></div></div></blockquote><div><br></div><div>IMHO this is the heart of the problem. Personally I'm a fanatic about this - readability is 100x more important than writability if you're writing code which is going to be used & maintained for a long time (think enterprise, i.e., Java's sweet spot).</div><div><br></div><div>FWIW here's my previous rant on this topic <a href="https://mail.openjdk.org/pipermail/amber-dev/2022-November/007580.html" rel="noreferrer noreferrer" target="_blank">https://mail.openjdk.org/pipermail/amber-dev/2022-November/007580.html</a> (that was in a discussion about making all exceptions unchecked...)<br></div><div><br></div><div>-Archie<br></div></div></div><div><br></div><div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">Archie L. Cobbs<br></div></div></div>
</blockquote></div>