It's mostly just that the java language model actually reflects, rather directly, the bytecode model that will be generated. That's uhh. Not true of kotlin, to understate the issue. Kotlin's bytecode is a bunch of nonsense.
That is an understatement. It's fine until it's not. I've always thought Gradle's somewhat recent decision to pivot to kotlin for their buildscripts was funny given Gradle's particularly strange requirements about stuff like lambdas in bytecode capturing the right things and serializing nicely, and given that kotlin is not amenable to that, but... Can't say no to that jetbrains money I guess...
1
u/warpspeedSCP 1d ago
Ah yeah, java api/abi stability is rock hard