So were you writing applets and swing applications? It was a completely different time! However, a lot of Java 2 code can run on Java 25 with small changes!
Java switched to a rapid release cycle in September 2017, when the six-month, time-based release cadence was first proposed and implemented. Starting with Java 10 in March 2018, a new version is released every March and September.
Many Java versions are actually ignored by developers, who only use Long-Term Support (LTS) versions, that are released every two years.


Scala gives you an immense freedom and you can do things in many, many ways.
The problem is that when you work in an enterprise project, you need people to write idiomatic code.
In Scala, it is not clear what idiomatic code looks like. Imperative and object oriented? With higher order functions? Or fully functional with monads and monad transformers?