JEP 495 Question

Kenneth Fogel kfogel at dawsoncollege.qc.ca
Thu Nov 21 20:59:27 UTC 2024


You all probably know my position on this matter. 

 - 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.

I believe that dot notation has never been simple to explain or describe at the beginning stages of learning Java. The need to gloss over what a class, an object, and what static means in the first sessions of a course has always troubled me. I have described System.out.println as evil but only in the context of a new learner. Today's students can plug into what it means to write software in ways that most of us could not. What they see is this language called Python that lets a learner evolve from spaghetti code (i.e. BASIC) to structured code (i.e. Pascal) and finally to OOP (not quite but kind of C++).

I taught Java for most of my career in an OOP first manner. I felt, and still do, that Separation of Concerns is the most important architectural concept. My mistake was to believe that the only way to adopt this principle successfully was in an OOP only environment. I believe that Python has shown us, or maybe just me, that OOP should not be the only way to teach Java.

I feel that problem solving is what is most important. Many of what we call decorations interferes with this. I love println and especially readln. Please do not make me have to use the atrocious dot in my first sessions of my intro course.

As always, feel free to use my name in vain,

Ken Fogel
Computer Science Instructor for 31 years, now retired for 3 years.




More information about the amber-dev mailing list