Meanwhile Go already had a language change, while being less than half its age (loop variable capture).
Plain vanilla java code is really backwards compatible, on both a syntax, and on a binary level.
You can often find decades old jars on some random university site, working with JDK 25 with no issue.