Introduction and Education

Alex Buckley alex.buckley at
Mon Mar 2 23:30:11 UTC 2020

On 3/2/2020 12:16 PM, Kenneth Fogel wrote:
> Should all proposals for changes to the JDK et al also include how
> such changes could be explained to teachers and students? I recognize
> that some features cannot be so simply described. I used to tell my
> students that if they read their code out loud their grandmother
> should understand what they intended. Clearly something very unlikely
> today. Still, if we can describe features and syntax of Java in ways
> that a teacher or student could understand then the language may be
> even more relevant in education.

The adoption of JEPs as the vehicle for proposing new features of the
Java platform has been fantastically successful for boosting public
understanding of such features.

In my view, this is because a JEP demands two things from its author:
(1) a summary that is extremely brief, and (2) a motivation of the
problem that is separate from the description of the solution. At least
for SE-scoped JEPs, the summary should be immediately understandable to
ALL Java developers -- it's what a developer would tell a colleague at
lunch. Then, the motivation gives the "real story" behind a proposal,
building context and enthusiasm. The description of the new feature is
where you put the examples, sketch the grammar, allude to the existence
of corner cases, and show that you've considered migration.

All of this material seems extremely helpful for students and teachers.

In addition, when we present plans for new features at conferences,
everyone in the audience is effectively a student. Even if those
"students" are professional Java developers, they have a wide range of
skill levels and ask all kinds of weird and wonderful questions. We 
strive to turn those interactions with "students" into better
presentations and tighter, more convincing JEPs. (If only so that we
don't have to answer the same 
obvious-to-the-audience-but-maybe-not-to-us questions in future.)

Again, the results are directly available to help actual students and 
teachers understand what's coming.

Finally, numerous Oracle engineers put a lot of time into reviewing 
drafts of articles and books by third parties. This is done on a 
best-effort basis, so I can't guarantee that the particular textbook 
used at Dawson College will include my preferred explanation of 
programming with modules, or Brian's preferred explanation of 
programming with streams. Nevertheless, the material that we contribute 
does get "out there", and informs how everyone, including students, 
learns new features.


More information about the discuss mailing list