Kotlin 1.1 nimmt mit drittem Milestone-Release weiter Form an

Zu den Neuerungen gehört der Unterstrich als Ersatz für ungenutzte Parameter in Lambdas und Funktionen zum Zugriff auf generische Enumerationen.

In Pocket speichern vorlesen Druckansicht
Kotlin 1.1 nimmt mit dem dritten Milestone-Release weiter Form an
Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

JetBrains hat neben neuen Versionen der Entwicklungsumgebungen wie IntelliJ IDEA, CLion, PyCharm, WebStorm und PhpStorm auch ein frisches Milestone-Release der JVM-Sprache Kotlin veröffentlicht. Der tschechische Toolhersteler setzt die Programmiersprache selbst zum Erstellen seiner IDEs ein. Das wichtige 1.0-Release von Kotlin erschien Anfang des Jahres nach einer fünfjährigen Entwicklungszeit. Im Sommer zeigte JetBrains erstmals eine Vorschau auf Kotlin 1.1. Zu den wichtigsten Ergänzungen gegenüber Version 1.0 gehören Koroutinen, Type Aliases und Bound References.

Milestone 3 von Kotlin 1.1 bringt einige ergänzende Features. So gibt es nun in der Standardbibliothek die beiden inline-Funktionen enumValues() und enumValueOf(name: String) zum vereinfachten Zugriff auf Enumerationen, die auch als generische Parameter vorliegen dürfen. Anders als bei den Methoden EnumClass.valueOf(value: String) und EnumClass.values() muss der Typ dazu nicht im Vorfeld bekannt sein.

Eine weitere Neuerung ist der Unterstrich als Platzhalter für unbenutzte Symbole. So darf ein Lambda folgenden Aufbau haben:

foo {_, x -> ... }

Dasselbe gilt für Destructuring Declarations, bei denen einen Objekt mehrere Variablen zugewiesen werden. Auch hierbei dürfen Entwickler künftig wie in folgendem Beispiel nicht benötigte Werte durch Unterstriche ersetzen :

val (x, _, z) = listOf(1, 2, 3) 
print(x+z)

Für eine bessere Lesbarkeit dürfen Unterstriche zudem wie in Java 8 als Trennzeichen innerhalb numerischer Literale zum Einsatz kommen: 1_000_000 ist ebenso erlaubt wie 0xAA_BB_CC_DD und 0b11001100_00110011.

Darüber hinaus hat das Team die Standardbibliothek weiter vereinheitlicht und einige gebräuchliche Typen in Unterpakete von kotlin.* überführt: ArrayList, HashSet, LinkedHashSet, HashMap und LinkedHashMap sind nun Bestandteil von kotlin.collections; Appendable und StringBuilder finden sich in kotlin.text, und Comparator steht im kotlin.comparisons Package.

Weitere Details wie die zusätzlichen Features für das JavaScript-Backend finden sich im Kotlin-Blog. Dort steht auch eine Anleitung, wie Entwickler den Milestone Build testen können. Kotlin ist eine objektorientierte, statisch typisierte Programmiersprache. Sie ist kompatibel zu Java und setzt wie Scala, Clojure und Ceylon auf die JVM auf (Java Virtual Machine). Als Vorzüge nennen die Macher eine bessere Performance und Sicherheit sowie eine gut lesbare Syntax. (rme)