se-edu/addressbook-level3

Upgrade to Java 17

Opened this issue · 2 comments

Upgrade to Java 17

Something that I raised in Slack, but I think should be put here also.

@damithc It really boils down to one question: what's the motivation of upgrading to Java 17?

  1. In an educational setting, this can actually be counterproductive. Far too many projects in the wild are still in Java 11, or even 8. And neither Java 8/11 will have their support ended before at least 2025, so don't expect the uptake rate to be (rapidly) increasing.
  2. Is the upgrade done “merely to get the latest version up”, or to actually be using Java 17 and its features? Unlike Java 8 to 11 which has little new features (although one of them, being Java modules, is a huge one), Java 11 to 17 introduces way more new syntaxes/techniques. It’s almost like a new language. If it is the former, the decision really needs to be reconsidered. If it’s the latter, need to carefully pick which new features are to be introduced, and also back to the concern (1).

I’m not saying to never upgrade; I’m saying this needs to be really carefully deliberated. se-edu here is primarily education tool (it’s in the name). Does it intend to (1) showcase how latest Java looks like but probably only ~10% of the industry has adopted (and explain why), or (2) showcase how a widely used Java looks like (meaning, even inclusion of Java modules should also be carefully deliberated), but the option is open should one wants to explore newer versions?
And by the way, if (1) is followed strictly, Java 21 (another LTS) is coming next year. It will be a game of catching up.

Removing onHold, as it's been a while and we are closer to 2025 .