Kotlin est maintenant passé de Bêta à Release Candidate, la version 1.0 du langage
est disponible et apporte plusieurs améliorations
Le langage de programmation Kotlin est désormais passé de Bêta à Release Candidate. L’annonce a été faite dans un billet de blog publié sur le site de Jetbrains dans lequel l’équipe derrière le langage ainsi que la communauté qui la suit se réjouissent de cette nouvelle. La version 1.0 du langage de programmation a fait l’objet d’une recompilation complète, assure l’auteur du billet, Andrey Breslav, qui est l’un des concepteurs du langage chez Jetbrains. Il ajoute que cela a été fait dans le but de s’assurer qu’aucun code compilé avec les anciennes versions du langage ne subsiste.
Cette nouvelle version de Kotlin vient avec des changements considérables. Tout d’abord, l’équipe derrière le langage a tenu à faire un nettoyage. Ainsi les anciens éléments dépréciés du langage qui étaient marqués jusque là comme avertissements sont maintenant considérés comme des erreurs et les éléments dépréciés qui étaient générés dans le Bytecode ont tout simplement été enlevés. La plupart des changements apportés au langage en tant que tel constituent des changements mineurs et concernent le plus souvent des résolutions de bogues.
La nouvelle version du langage vient aussi avec le support d’une nouvelle annotation @delegate. Cette annotation permet par exemple pour marquer un objet délégué avec l’annotation @Transient, de faire tout simplement comme dans le bout de code qui suit :
L’auteur du billet de blog fait également noter qu’ils ont résolu dans cette version un nombre important de bogues relatifs aux projections de types. Le compilateur pourrait maintenant détecter certains bogues qui lui échappaient jusqu’ici dans le code source. Par exemple, le bout de code qui suit était accepté par erreur par le compilateur, mais ne l’est plus dans la nouvelle version.
Le compilateur arrive maintenant à détecter une erreur dans ce code et renvoie le message d’erreur suivant.
Andrey Breslav fait état également de certaines améliorations en ce qui concerne l’interopérabilité avec le langage Java, notamment celles apportées aux propriétés de synthèse dérivées du couple get/set de Java. La version 1.0 de Kotlin permet maintenant l’utilisation de setters Java qui retournent des valeurs. Par ailleurs, il a été ajouté à cette nouvelle version du langage, le support des annotations @Nullable et @NotNull ceci à travers plusieurs bibliothèques populaires telles que javax.annotations ou encore Android SDK.
La bibliothèque standard a également connu certains changements avec son code source qui a été redistribué entre plusieurs packages sans pour autant modifier le code source lui-même. Certaines fonctions ont été transformées en des fonctions de type inline et plusieurs de ces fonctions ne peuvent plus être invoquées à partir d’un code Java. D’après les concepteurs du langage, cela va aider à réduire considérablement la taille de la bibliothèque en exécution. Les fonctions Map.getOrElse() et Map.getOrPut() considèrent désormais les clés associées à une valeur comme manquantes et les fonctions mutableListOf, mutableSetOf, mutableMapOf ont été ajoutées pour la création de collections mutables. La fonction toArrayList a été dépréciée et remplacée par la fonction toMutableList. Les fonctions associate et associateBy quant à elles permettent la création de maps, elles remplacent respectivement les fonctions toMap et toMapBy. Les fonctions de comparaisons ont été déplacées dans le package kotlin.comparisons qui n’est pas importé par défaut.
Des améliorations ont également été apportées à l’EDI (Environnement de Développement Intégré) de Kotlin. Il s’agit notamment de la complétion de code qui suggère des noms de variable ou de fonctions basés sur les identifiants non reconnus dans le fichier courant. Les expressions when sont également autocomplétées et l’annotation @Suppress marche maintenant avec les inspections de l’EDI. Avec cette nouvelle version, si l’environnement d’exécution de Kotlin n’est pas configuré, l’IDE affiche une notification « Kotlin not configured » lors de l’ouverture d’un fichier d’extension .kt. Ces améliorations concernant l’EDI peuvent ne pas être prises en compte par les mises à jour automatiques d’IntelliJ IDEA, les utilisateurs de cet environnement de développement devront par conséquent télécharger et installer le plug-in proprement.
Source : blog Jetbrains
Et vous ?
Que pensez-vous de cette nouvelle version de Kotlin ?
Voir aussi
la rubrique Autres langages pour la JVM
Partager