Suche

Beta Candidate für Kotlin 1.0 erhältlich

Michael Thomas

Kotlin-Logo (Quelle: jetbrains.com)

Nach einer über vier Jahre währenden Entwicklungszeit, die ingesamt 14 Meilensteine hervorbrachte, steht für die JVM-Sprache Kotlin aus dem Hause JetBrains nun ein erster Beta Candidate zur Verfügung – Version 1.0 der auf Java- und JavaScript-Plattformen abzielenden Programmiersprache rückt damit in greifbare Nähe.

Das Binärformat gilt als final, größere Sprachänderungen sind für die offizielle Beta bzw. die finale Version den Machern zufolge keine mehr geplant. Im Vergleich zum letzten Meilenstein haben sich im Rahmen des Beta Candidate erneut teils beträchtliche Neuerungen ergeben.

Sprachänderungen und Collections

Seit dem letzten Meilenstein muss bei Funktionen, die dem Überladen von Operatoren dienen, der Modifikator operator zum Einsatz kommen. Ab sofort gilt dies auch für Infix-Funktionen. Demgegenüber kann nun jede Java-Funktion mit geeigneter Signatur als Operator genutzt werden. Um Unklarheiten zu vermeiden, wurden im Rahmen des Beta Canidate auch einige Operatorennamen geändert: So kommen bei unären Funktionen statt plus und minus unaryPlus und unaryMinus zum Einsatz. Zudem wurde der Funktionsumfang der Annotation @Deprecated ausgeweitet: Neben der Möglichkeit, über ReplaceWith("...") ein Replacement zu spezifizieren bietet sie mit level nun eine Option, die via WARNING, ERROR oder HIDDEN das Verhalten des Compilers bestimmt.

Kotlin Collections ähneln den aus Java bekannten Collections, verfügen aber über „Interfaces“, die zwischen veränderbaren und „Read-only“ Collections unterscheiden. Die Hauptänderung des aktuellen Releases besteht darin, dass die Collections und andere Kern-APIs ausgemistet wurden: So ist beispielsweise size nun eine Property und contains ist typsicher. Durch diese Änderungen soll sich die Bibliothek „mehr nach Kotlin anfühlen“ und gleichzeitig mit Java kompatibel bleiben.

Java-Interoperabilität, IDE-Änderungen und Tools

Kotlin ist nun besser für statische Java-Methoden, -Felder und -Klassen eingerichtet: So können z. B. vererbte verschachtelte Klassen sowie statische Methoden und Felder innerhalb ihrer Kotlin-Subklasse genutzt werden; des Weiteren kann über den Subklassennamen auf die vererbten statischen Methoden und Felder zugegriffen werden. Auch sind die Interface-Vererbungsregeln nun mit Java 8 kompatibel und Int sowie andere grundlegende Typen sind ab sofort auf der JVM serialisierbar.

Auch im Rahmen der IDE haben sich Änderungen ergeben: Die Autovervollständigung unterstützt nun Callable References, equals()– und hashCode()-Methoden sind einfacher zu generieren und das Unit-Testing geht insgesamt leichter von der Hand.

Im Hinblick auf die Tools ist festzuhalten, dass der Compiler Daemon in der IDE nun standardmäßig aktiviert ist, zudem unterstützt er nun die parallele Kompilierung unabhängiger Module. Als weitere Änderungen stehen die auf externe Annotationen abzielenden Optionen in Maven und Gradle nicht länger zur Verfügung.

Last but not least verfügt Kotlin ab sofort über eine 200k kleinere kotlin-runtime-Bibliothek.

Was ist Kotlin?

Kotlin wird von dem tschechischen Tool-Anbieter JetBrains entwickelt und zielt auf Java- und JavaScript-Plattformen ab. Sie kann in Bytecode oder JavaScript kompiliert werden; zu ihren Merkmalen gehören ein statisches Typensystem, Objektorientierung, prozedurales Programmieren mittels Funktionen, die Unterstützung für Variable Type Inference und Support für Closures.

Seit Februar 2012 ist Kotlin quelloffen verfügbar. Ursprünglich aus der Taufe gehoben wurde die Sprache, weil Scala JetBrains Ansicht nach zu komplex, Groovy zu langsam und Ceylon zu Java-inkompatibel waren (bzw. sind).

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.