Programmiersprache Kotlin 1.9 schickt K2-Compiler in die Beta-Phase
Neben dem EinfĂĽhren neuer Sprachfeatures stabilisiert das Release die entries-Property und bringt den K2-Compiler erstmals als Beta-Version mit.
JetBrains hat seine Programmiersprache Kotlin in Version 1.9 veröffentlicht. Das Feature-Release stabilisiert bestehende Funktionen wie die Property entries
und hat Neuerungen wie die experimentelle Klasse HexFormat
an Bord. Der K2-Compiler hat die Beta-Phase erreicht.
K2-Compiler jetzt als Beta
Wie das vorige Kotlin-Release bereitet sich auch dieses weiter auf das geplante Stabilisieren des Kotlin- und JVM-Compilers K2 vor, das für die kommende Version 2.0 geplant ist. Der K2-Compiler hat nun die nächste Phase erreicht und ist als Beta-Version enthalten. Daneben bietet er in Kotlin 1.9 grundlegenden Support für Kotlin/Native- und Multiplatform-Projekte.
Die Arbeiten am neuen Compiler begannen bereits 2021, und in Kotlin 1.7 erreichte er die Alpha-Version. Er soll die Entwicklung neuer Sprachfeatures beschleunigen, die Performance erhöhen, eine API für Compiler-Erweiterungen bieten und alle Plattformen vereinigen, die Kotlin unterstützt.
Wer den neuen K2-Compiler ausprobieren möchte, kann diese Gradle Property nutzen:
kotlin.experimental.tryK2=true
oder den folgenden Befehl ausfĂĽhren:
./gradlew assemble -Pkotlin.experimental.tryK2=true
Derzeit hat K2 beim Einsatz von Gradle in einer niedrigeren Version als 8.3 noch einige Grenzen, beispielsweise beim Kompilieren von Sourcecode von buildSrc
oder beim Erstellen von Gradle-Plug-in-Dependencies. Es kann laut dem Entwicklungsteam helfen, die Sprachversion fĂĽr buildSrc
, Gradle-Plug-ins und deren Dependencies einzustellen:
kotlin {
compilerOptions {
languageVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9)
apiVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9)
}
}
Daneben sollte man auf die anstehende Version Gradle 8.3 updaten, sobald sie verfĂĽgbar wird. KĂĽrzlich ist Gradle in Version 8.2.1 erschienen.
Experimentelle und stabilisierte Sprachfeatures
Eines der neuen Sprachfeatures in Kotlin 1.9 ist die Klasse HexFormat
. Das Feature und die damit zusammenhängenden Extension-Funktionen sind noch experimentell und dienen dem Konvertieren zwischen numerischen Werten und Hexadezimal-Strings, beispielsweise:
println(93.toHexString()) // "0000005d"
Mittels HexFormat{}
Builder lassen sich Formatierungsoptionen konfigurieren, um etwa Hexadezimalzeichen in Klein- oder Großbuchstaben darzustellen. Standardmäßig sind Kleinbuchstaben eingestellt.
Zu den stabilisierten Sprachfeatures zählt die Property entry
, die Kotlin 1.8.20 als experimentelles Feature mitbrachte. Die Property soll ein moderner und performanterer Ersatz fĂĽr die values()
-Funktion sein, die sich zwar weiterhin verwenden lässt, aber vom Entwicklungsteam nicht empfohlen wird.
Auch sollen sich WebAssembly-Projekte in Kotlin 1.9 verglichen mit der Vorversion deutlich verkleinert haben und die Preview eines benutzerdefinierten Speicher-Allokators soll die Runtime-Performance des Kotlin/Native-Memory-Managers verbessern.
Alle weiteren Neuerungen lassen sich der AnkĂĽndigung entnehmen.
(mai)