Some minimum JDK level needs to be specified.  While this is basically
arbitrary based on the needs of the platform and work required to support
it, I think it makes sense that the minimum should be some LTS version.  To
get the widest audience would suggest that version should be the oldest LTS
still supported at the time of release.  That would mean any release prior
to September 2023 should have JDK 11 as the minimum and not anything more
recent.
If that minimum is considered too old for any reason then the next JDK to
consider should be the next LTS release after JDK 11.
Is there an argument for considering non-LTS releases?  I suggest those
primarily because it seems they would be the JDKs most likely to be picked
in general for any arbitrary company, dependency, or whatever.  Releases
between LTS releases are likely to be selected only when they contain a
particular needed feature.
I think it should go without saying that whatever JDK is selected as the
minimum, no incubating or preview features should be used.  That just opens
another can of worms.
At the same time the expectation of users is that NetBeans will support the
current JDK for development. Ideally coding for EA releases should work on
a best-efforts basis.  How are we to evaluate EA releases if our tools
won't support them?  While NB must require some minimum version, it is not
unreasonable to require it to run on a more recent version in order to
support more recent JDKs.  My point being that I don't see an issue if
running NB on JDK 11 means you can't properly work with a project that
needs JDK 19.  If you need to run on JDK 19 to develop for JDK 19, that's
fair.
Personally, I think it is important to make the jump away from JDK 8.  It
matters far less how far that jump is. JDK 11 would perhaps be the least
disruptive option in what is certainly going to be a disruptive transition
for some. But the difference from JDK 11 to JDK 17 is insignificant in
comparison to JDK 8 to 11.  If you're going to break compatibility, why
drag your feet?  Move forward as far as you can and sit there for a while
with a stable target JDK version, rather than tip-toeing one step at a time
trickling a few disruptions in at every release.

My 2c,

Scott

Reply via email to