On KotlinConf 2018 I asked @elizarov what will happen to coroutines once Project Loom is released. It was 3 years ago. Project Loom is still “soon to be released”. Well, at least it works now.
Roman simply told me: “- Well, if it’s any good, coroutines will switch to using it instead”.
Coroutines, and even more importantly, structured concurrency is far more high level abstraction than having M:N mappings. I don’t expect them to go away any time soon, until we find a better way to structure asynchronous code.
And it’s the same for records and data classes.
As of Java “catching up”, you may get that impression, as long as you don’t work with Java professionally. Yes, there are releases twice a year, which is huge improvement. But is your company really willing to adopt JDK that is not LTS? Some companies sure don’t, and that means that they’re still on JDK11, and will get what, JDK17 next? Which is again a gap of a few years.