Neulich hab ich was über ein neues Feature von Java 21 geschrieben.
Hier gibt es eine Liste an den neuen, interessanten Sachen in Java 21: The compact overview of JDK 21’s “frozen” feature list. Was mir dort in die Augen fällt:
- Valhalla is officially trying to bite on the topic of Nullability in Java
Valhalla ist der Projektname dafür, user-defined Value-Types in die JVM zu bringen, ähnlich zu denen in C# (Structs). Das zieht einen langen Rattenschwanz hinter sich her, darunter auch die Generics, die in Java mit Type-Erasure umgesetzt werden (in C# wird zur Laufzeit ein konkret anderer Typ instanziiert).
Teil dieses Rattenschwanzes ist jetzt wohl auch Nullability.
Das wird jetzt nochmal viel interessanter, denn Nullability ist in Kotlin nochmal ganz anders gelöst. Ob wir am Ende einen super komplizierten Interop zwischen den Sprachen haben (was einer der Vorteile von Kotlin war) oder werden sie sich soweit voneinander entwickeln, dass sie inkompatibel werden?