<div dir="ltr">
To provide another perspective that doesn't come from anyone inside the 
JDK development process or affiliated with any organisation that is.<br><br>I
 have been in professional software development for 30 years. While I am
 not involved formally in education, I do 'give back' by involving 
myself in several active Java communities. For students new to 
programming, this is a mix of self-guided individuals (or misleadingly 
guided - youtube is filled with some terrible material), or lost-at-sea 
secondary and tertiary course students (you may not see all those in 
your courses that are struggling, and may not be the sole source of 
education on the topic).<br><br>I have also followed, in depth, the 
initial discussions of the features in this JEP from early inception, 
through the JEP's evolution to its current preview state.<br><br><div>There
 are two things this JEP addresses. One is directly for the student, 
shrinking their learning load, and the second is one of mind-share.</div><div><br></div><div>If
 the initial experience is not simplified then students with a choice 
will engage with other languages first and educators will increasingly 
pivot away from Java to languages that present an easier first 
experience.</div><div><br></div><div>That initial experience is filled 
with complexities such as the static/non-static distinction, the 
ceremonies of declaring a class (even the minor matter of matching, 
case-sensitively, the public class name to the filename) or, as your 
posting focuses on, the complexity of the entry-point declaration.</div><div><br></div><div>Oft-used
 mantras such as "just ignore this bit for now" or "just copy this and 
ignore the stuff above and below" don't truly lift the cognitive burden 
from the students as well as we'd hope. With the frequency of students 
struggling with the initial experience, educators have to accept that it
 is human nature to either dwell on these details or be impacted by the 
distraction of reading around them. Removing the need for them does have
 some merit to early learning.</div><div><br></div><div>I should note 
that I was initially negative towards this JEP myself. I had concerns that it was 
attempting to overfit the initial engagement experience to the detriment
 of later learning progression. This is seen often in libraries and 
frameworks that tune a part of their API to present a more elegant, but 
eventually irrelevant, hello-world case - an increasingly common "please
 pick me" marketing ploy for a system component that should be selected 
on long-term merits, not initial gut-feelings.</div><br>However, having 
been involved (largely as an observer) in the evolution of these 
changes, I can say that the discussion has been robust. Several 
proposals were rejected or revisited specifically because, while they 
would make an even simpler first step, they would add new burdens to 
progression. I no longer feel that this is an irresponsible or 
detracting change.<br><br><div>As a developer with some projects heavily
 invested in Java, it is good to see that Oracle and others are 
investing significant effort in a large number of very high-value 
features (the JVM Language Summit shows off a number of them). These 
look likely to ensure the platform remains relevant, even regaining 
ground in a world that has shifted, changing how and where Java is 
deployed. But that effort will only be valuable if new developers 
continue to learn Java in the first place - I think this JEP does go 
some way to addressing that.</div>

<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Sep 16, 2023 at 5:40 AM Arne Styve <<a href="mailto:arne.styve@ntnu.no">arne.styve@ntnu.no</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg-3781502641138647440">





<div lang="NO-BOK" style="overflow-wrap: break-word;">
<div class="m_-1759205334407965359WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt">I recently came across this JEP, and was very surprised. Why on earth should you add features to a professional programming language just to apparently make it a bit easier for students and beginners
 to learn to code? And especially when the suggested feature has no real use (and cannot be used) once you learn to program OOP properly?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt">I’ve been a SW-developer and manager for more than 20 years, and a teacher of OOP at University for 15 years, and have never, ever experienced that the public static void main(String[] args) have
 been remotely problematic for students in learning to program.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt">Please have this JEP terminated.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11pt"><u></u> <u></u></span></p>
</div>
</div>

</div></blockquote></div>