/ Software-Entwicklung / Kotlin 1.1 Beta bringt Kompilierung nach JavaScript

Kotlin 1.1 Beta bringt Kompilierung nach JavaScript

Gerfried Steube on January 19, 2017 - 9:10 pm in Software-Entwicklung

Knapp ein Jahr nach dem 1.0-Release veröffentlicht JetBrains das erste größere Update der JVM-Sprache. Neben Koroutinen und der Kompilierung nach JavaScript gehören gebundene Referenzen und Type Aliases zu den nennenswerten Neuerungen.

JetBrains hatte im Februar 2016 das erste stabile Release der JVM-Sprache (Java Virtual Machine) Kotlin veröffentlicht. Nach einigen kleineren 1.0.x-Updates ohne wesentliche Änderungen bringt Kotlin 1.1 einige neue Features. Bereits bei der ersten Vorschau im Juli 2016 kündigten die Macher an, dass Kotlin Koroutinen bekommt. Diese spielen bei nebenläufiger Programmierung eine entscheidende Rolle, da sie ihren Ablauf unterbrechen und später fortsetzen können, ohne Threads zu blockieren. In Kotlin 1.1 sind Koroutinen zunächst als experimentell gekennzeichnet. Das Team rechnet zwar nicht mit größeren Änderungen, schließt API-Anpassungen für Version 1.2 aber nicht völlig aus.

Kompilieren nach JavaScript

Kotlin 1.1 lässt sich zudem nun komplett nach JavaScript übersetzen. Das bezieht sich allerdings nur auf die Sprache selbst. Das JDK lässt sich nicht durch ein Rekompilieren auf den Browser übertragen, aber Entwickler dürfen alle Kern-APIs von Kotlin wie Strings, Collections und Arrays in die Skriptsprache kompilieren. In dem Bereich gibt es wohl noch einiges zu tun, sodass für Kotlin 1.2 weitere Verbesserungen im JavaScript-Tooling geplant sind.

Eine weitere Neuerung sind Type Aliases. Dabei handelt es sich wie bei anderen Sprachen im Wesentlichen um Pseudonyme, die längere Konstrukte abkürzen oder besser lesbar beschreiben. Sie kommen vor allem bei generischen Typen wie Collections zum Einsatz wie im folgenden Beispiel:

typealias Multimap<K, V> = Map<K, List<V>> 

Type Aliases lassen sich auch für Funktionen verwenden. Die ebenfalls neu eingeführten gebundenen Referenzen (bound references) ermöglichen eine Anbindung über :: nicht nur an Typen und Klassen, sondern an auch an Ausdrücke und Variablen des jeweiligen Objekts, wie beispielsweise bei einem String namens meinstr über meinstr::length.

Unterstriche als Platzhalter

Die bereits aus anderen Sprachen bekannte Option, einen Unterstrich als Platzhalter für nicht verwendete Parameter zu verwenden, hatten die Macher bereits in die Milestone-Releases integriert:

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

Der Unterstrich darf zudem als Trennzeichen in numerischen Werten unterschiedlicher Zahlensysteme zum Einsatz kommen, also unter anderem in 1_234_567, 0xAB_CD_89_12 oder 0b11001100_00110011.

Erweiterte, aufgeräumte Standardbibliotheken

Das Team hat im Zuge des Versionswechsels die Standardbibliothek aufgeräumt und einige gebräuchliche Typen in Unterpakete von kotlin.* überführt. Auch hat es einige Pakete ergänzt: So erhalten Collections eine onEach()-Funktion und es gibt neue Methoden zum Umwandeln von Strings in numerische Werte. Außerdem lassen sich nun Build-Skripte für Gradle in Kotlin erstellen.

Weitere Details finden sich im Kotlin-Blog. Dort steht auch eine Anleitung zum Installieren der Beta über Maven/Gradle und in IntelliJ IDEA sowie über die geplante Rückwärtskompatibilität der Release-Variante zur Beta. 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)

Read more on: Source

Comments are disabled