Menü
Developer

Kotlin 1.1 bringt Koroutinen

JetBrains gibt eine erste Vorschau auf die Neuerungen in Version 1.1 der JVM-Sprache. Neben den Koroutinen stehen Type Aliases und Bound References im Fokus. Zudem will das Team die Scripting-Fähigkeiten verbessern.

vorlesen Drucken Kommentare lesen
Kotlin 1.1 bringt Koroutinen

Anfang des Jahres war nach fünfjähriger Vorarbeit die wichtige Version 1.0 von Kotlin erschienen. Nun hat JetBrains eine Vorschau auf Kotlin 1.1 veröffentlicht. Eine maßgebliche Neuerung ist die Einführung von Koroutinen, mit denen das Team die Verarbeitung nebenläufiger Programme optimieren möchte. Vereinfacht ausgedrückt können die Routinen ihren Ablauf unterbrechen, wenn sie beispielsweise auf die Übertragung einer Datei über das Netzwerk erwarten, ohne dabei den aktiven Thread zu blockieren.

Eine weitere Neuerung sind die aus anderen Sprachen bekannten Type Aliases, Dabei handelt es sich im Wesentlichen um Pseduonyme, die längere Konstrukte abkürzen oder besser lesbar beschreiben. So nennt der Blog beispielsweise mit typealias Multimap<K, V> = Map<K, List<V>> ein Alias für Collections. Das Konzept funktioniert ebenso für Funkionen wie in typealias Predicate<T> = (T) -> Boolean und für verschachtelte Klassen.

Ebenfalls neu sind gebundene Referenzen (bound references), die eine Anbindung über :: nicht nur an Typen und Klassen, sondern an Ausdrücke und Variablen ermöglichen. Somit ist für einen String namens meinstr die direkte Verwendung von meinstr::length erlaubt.

Unter der Haube arbeitet das Team an einem besseren Support für Java 8 – im Speziellen den Stream APIs. Außerdem will es das Scripting verbessern, und in Kürze sollen Entwickler Build-Skripte in Kotlin schreiben können.

Weitere Details stehen im Blog-Beitrag und dem Change Log. Kotlin ist eine objektorientierte, statisch typisierte Sprache, die kompatibel zu Java ist und auf die JVM aufsetzt (Java Virtual Machine). Die Vorzüge sollen vor allem in einer höheren Performance und Sicherheit sowie in der gut lesbaren Syntax liegen. (rme)