JVM-Sprachen: Kotlin M11 freigegeben
Der elfte Meilenstein der von IDE-Anbieter JetBrains vorangetriebenen Programmiersprache Kotlin bringt unter anderem die für Android-Entwickler wichtige Option, mehrere Konstruktoren nutzen zu können.
- Julia Schmidt
Seit gut vier Jahren arbeiten die Entwickler bei JetBrains bereits an der JVM-Sprache Kotlin. Sie soll sich besonders durch ihre Robustheit auszeichnen und kann durch das Java-Wissen ihrer Entwickler und deren Erfahrung mit IDEs durch hohe Interoperabilität mit Java und gute Tool-Unterstützung aufwarten. Der nun freigegebene Meilenstein enthält einige sprachliche Änderungen, die auf kommende Funktionen vorbereiten sollen oder auf längere Sicht alte Herangehensweisen ersetzen, weshalb es nach dem Update nötig sein kann, alten Code entsprechend anzupassen.
Unter die Neuerungen fällt unter anderem, dass Initialisierungsblöcke nun mit dem weichen Schlüsselwort init auszustatten sind, da die alte Variante durch die Ähnlichkeit zu Lambda-Übergaben zu Fehlern geführt hatte. Zunächst wird nur eine Warnung und kein Fehler ausgegeben, sollte man das Schlüsselwort nicht einsetzen. Um alten Code schneller ändern zu können, gibt es in der Entwicklungsumgebung IntelliJ IDEA durch einen Hilfsmechanismus über Alt + Enter die Option, die alte Syntax durch die neue zu ersetzen. Die IDE hält aber auch darüber hinaus einige neue Möglichkeiten in Sachen Refactoring für Kotlin-Code bereit.
Außerdem wurde das Konzept der Klassenobjekte (Class Objects) überdacht. Statt ihrer sollen Entwickler nun Companion Objects nutzen können, die sich unter anderem dadurch auszeichnen, dass sich ein Objekt einer Klasse nun mit einem companion-Modifier deklarieren lässt. In der Folge kann man die Member des Objekts über den Klassennamen ansprechen. Genauere Erklärungen hierzu und einige weitere Neuerungen finden sich unter anderem in der Ankündigung.
Entwickler, die Android als Zielplattform bedienen wollen, können mit der neuen Version erstmals mehrere Konstruktoren in Kotlin einsetzen, was zum Erstellen von Unterklassen von View-Klassen nötig ist. Darüber hinaus steht das Plug-in kotlin-android-extensions für den Kotlin-Compiler zur Verfügung, der das findViewById()-Problem ohne den Einsatz von JSR 269 und ohne zusätzliche Annotationen und Laufzeitbibliotheken umgehen kann.
Siehe hierzu auch auf heise Developer:
- Ein Ăśberblick ĂĽber Java-Alternativen fĂĽr den industriellen Einsatz
- Ein zweiter Blick auf JVM-Programmiersprachen
(jul)