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.

In Pocket speichern vorlesen Druckansicht
Kotlin

(Bild: Shutterstock)

Lesezeit: 2 Min.

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.

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.

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)