<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Hello-<div><br></div><div>How about a series of classes that provide the same I/O methods (and behavior!) across the spectrum of I/O types? </div><div><br></div><div>This would allow:</div><div>1. New coders to learn on the console, which provides the benefit of immediate feedback loop</div><div>2. Allow new coders to transition from Console to File to Socket by changing only a single word in the source code</div><div><br></div><div>Console.readInt</div><div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">Console.readIntln</span></div><div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">Console.writeInt</span></div><div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">Console.writeIntln</span></div><div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);"><br></span></font></div><div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);">Socket.readInt</span></font></div><div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);">Socket.writeInt</span></font></div><div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);">..</span></font></div><div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);"><br></span></font></div><div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);">File.readInt</span></font></div><div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);">File.writeInt</span></font></div><div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);">,,,</span></font></div><div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);"><br></span></font></div><div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);">Properties.readInt</span></font></div><div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);">Properties.writeInt<br id="lineBreakAtBeginningOfMessage"></span></font><div>,,,</div><div><br></div><div><br></div><div>Thanks,</div><div>Matt Pavlovich</div><div><br></div><div>Instructor: 1,000+ hours of classroom</div><div>Teacher: 8th grade robotics/engineering/programming</div><div><br><blockquote type="cite"><div>On Nov 21, 2024, at 12:45 PM, Brian Goetz <brian.goetz@oracle.com> wrote:</div><br class="Apple-interchange-newline"><div><div>I'd like to validate this further, but I'd like to seek feedback _from educators only_.  (Please include in your answer how long you've been teaching Java *formally*.)<br><br><blockquote type="cite">I am with Stephen here.<br><br>For effective learning, the gating factor is complexity, not verbosity. The regularity of IO.println wins over the implicit import.<br></blockquote><br>I would like to assess how broadly this opinion is held _by educators_.  The three positions that have been espoused by various proponents are:<br><br> - println is simpler for learners, and so the speed bump of going from there to IO.println when going to non-simple compilation units is worth it.<br> - IO.println is equally simple for learners, and has the benefit of uniformity, no need for static import.<br> - IO.println is actually *simpler* for learners, because the IO provides context to what comes after the dot.<br><br>It is easily imaginable for experienced developers to hold any of these views; consider all of those as having been read into the record.  I want to hear _from educators_ about which they would be more comfortable teaching, and why.<br><br>Thanks in advance for keeping this channel clear for the experienced educators to speak.<br><br></div></div></blockquote></div><br></div></body></html>