Oddbean new post about | logout
 nostr:npub1l5egqr3j9q5psnz02y60me63q5vner66sxgucg53z09c03kexupqr54gt6 And you can infer Java's direction from its history.

Java, for better or worse, evolved in tandem with the runtime. This is in many ways a strength. E.g., Java's records have a semantic for the runtime that Scala's case classes cannot have. Virtual threads leave the language untouched, etc.

Java is tied to the JVM, JVM improvements lift all boats, but Scala & Kotlin are free to directly target other platforms (JS, wasm, native), which also pushes them to compile-time solutions.