<div dir="ltr">While there is a deeper dive to do on why exactly JShell does not fit the bill, I don't think this is actually an objective:<br><br>> Provide a friendly environment for people starting out learning Java to get familiar with it<br><br>At least not as a terminal goal. Yes, that's how we have been talking about it. It's not really accurate though.<br><br>The *goal* is seems more akin to "improve the experience of learning and teaching java as a first language". Learning and teaching don't stop after the first week or two. Classes not being front-loaded has the potential to deeply affect the order in which things are taught.<br><br>The JEP kinda hints at this with<br><br><font face="monospace">* Offer a smooth on-ramp to Java programming, so that instructors can introduce concepts in a gradual manner.<br>* Help students write basic programs in a concise manner, and grow their code gracefully as their skills grow.<br><br></font><div><font face="monospace"><br></font></div><div><font face="arial, sans-serif">I think the metaphor of an on-ramp might be limiting imagination. When you get on the on ramp you are there for a short period of time and then get straight into the flow of traffic. </font><span style="font-family:arial,sans-serif">You "get up to speed" and then go full speed from then on.</span></div><div><font face="arial, sans-serif"><br>If I'm clawing for a metaphor I'd say I care more about having a "gentle slope." Yes, getting to the top of the mountain might take 5 hours. But so long as we reduce or minimize the times you need to break out climbing gear or have points in the map that say "exercise for the reader" that's fine.<br><br><br><br><br></font><br><br><br></div></div><div dir="ltr"><br></div><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Nov 7, 2024 at 6:31 PM Archie Cobbs <<a href="mailto:archie.cobbs@gmail.com" target="_blank">archie.cobbs@gmail.com</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 dir="ltr"><div dir="ltr"><div dir="ltr">On Thu, Nov 7, 2024 at 2:47 PM Kenneth Fogel <<a href="mailto:kfogel@dawsoncollege.qc.ca" target="_blank">kfogel@dawsoncollege.qc.ca</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>





<div lang="EN-CA">
<div>
<p class="MsoNormal"><span style="font-size:11pt">I dislike Python because it is an untyped language, but we cannot ignore that:</span></p>
<p class="MsoNormal"><span style="font-size:11pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">Python: loan = input("Loan: ")<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">makes more sense to those starting out than:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt">Java: var loan = Double.parseDouble(readln("Loan: "));</span></p></div></div></div></blockquote><div><br></div><div>I perceive a disconnect here between the objective and the assumed mechanism to achieve that objective.</div><div><br></div><div>If the objective is "Provide a friendly environment for people starting out learning Java to get familiar with it", why does the mechanism have to be "Make changes to the language" ?<br></div><div><br></div><div>For example, couldn't you use JShell to build a sufficiently "friendly environment"?<br></div><div><br></div><div style="margin-left:40px"><span style="font-family:monospace">$ cat friendly.jsh</span></div><div style="margin-left:40px"><span style="font-family:monospace">double input(String prompt) throws Exception {<br>    System.console().printf("%s", prompt);<br>    return Double.parseDouble(System.console().readLine());<br>}</span></div><div style="margin-left:40px"><span style="font-family:monospace">$ jshell friendly.jsh <br>|  Welcome to JShell -- Version 23<br>|  For an introduction type: /help intro<br><br>jshell> var x = input("Loan: ")<br>Loan: 123<br>x ==> 123.0</span></div><div><br></div><div>Etc.</div><div><br></div><div>-Archie<br></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>