<div dir="ltr">
<div class="gmail-flex gmail-flex-grow gmail-flex-col gmail-gap-3"><div class="gmail-min-h-[20px] gmail-flex gmail-flex-col gmail-items-start gmail-gap-4 gmail-whitespace-pre-wrap gmail-break-words"><div class="gmail-markdown gmail-prose gmail-w-full gmail-break-words gmail-dark:prose-invert gmail-light"><p>Hello Everyone,</p><p>I hope this is an appropriate forum for the thoughts I'd like to share on Java. If not, I would appreciate guidance as to the most fitting venue for such a discussion.</p><p>Currently, I am contemplating two main points related to programming languages, specifically in relation to Java. First, it seems that many languages frequently adopt features from each other, and I'm curious as to why Java hasn't taken a similar approach.</p><p>In particular, I've been considering the potential benefits of integrating extension methods and async-await into Java. With extension methods, users could benefit from a more concise syntax and a more functionally expressive coding approach. The async-await feature, a staple in languages like C# or JavaScript, might even be a superior alternative to Structured Concurrency. For instance, consider the code in this post: <a href="https://www.infoq.com/news/2023/06/structured-concurrency-jdk-21/">https://www.infoq.com/news/2023/06/structured-concurrency-jdk-21/</a></p><p>In C#, it might look something like this:</p>public async Task<Response> HandleAsync() {<br>  Task<string> userTask = FindUserAsync();<br>  Task<int> orderTask = FetchOrderAsync();<br>  await Task.WhenAll(userTask, orderTask);<br>  return new Response(userTask.Result, orderTask.Result);<br>}<p>In comparison to the original, this version seems considerably shorter, clearer, and easier to read.</p><p>I look forward to hearing your thoughts on this matter.</p><p>Best,</p><p>Tom</p></div></div></div>

</div>