Kotlin perd ses fonctionnalités de script
Contrairement aux attentes de JetBrains, la fonctionnalité de script dans Kotlin ne s’est pas avérée aussi populaire. Mais Gradle via Kotlin DSL et l’API de script personnalisé continueront d’être pris en charge.
JetBrains prévoit d’abandonner certaines technologies de script du langage Kotlin (trés utilisé pour les applications Android), notamment la fonctionnalité REPL, une API obsolète pour l’écriture de scripts Java, le plugin Maven KotlinScriptMojo et la bibliothèque kotlin-scripting-ide-services utilisée pour la fonctionnalité de complétion de code. C’est dans un billet de blog daté du 19 novembre que l’éditeur a annoncé le retrait de ces technologies de script de Kotlin, car l’entreprise avait constaté que les besoins des utilisateurs étaient couverts par d’autres technologies déjà prises en charge.
Les composants et les bibliothèques liés aux scripts appelés à disparaître du compilateur Kotlin et de l’IDEA IntelliJ IDEA sont les suivants. Il y a d’abord les implémentations REPL par défaut dans le compilateur Kotlin et le plugin IntelliJ IDEA. Selon Jetbrains, la fonctionnalité est limitée et son amélioration n’a pas été une priorité. L’entreprise continuera à promouvoir le plugin Kotlin Notebook et les fichiers Scratch de l’IDE comme solutions de développement interactif de Kotlin. L’éditeur prévoit de conserver certaines fonctionnalités liées au REPL dans le compilateur et l’API de script personnalisé. Mais, avec le passage définitif au compilateur K2, une part importante de ces fonctionnalités sera abandonnée ou modifiée.
Plusieurs autres éléments arrêtés
De son côté, Java Specification Request 223, qui offre des scripts pour la plateforme Java. La spécification originale ayant été retirée, l’éditeur estime que le support d’une API obsolète de facto n’a plus de sens. L’implémentation existante continuera à fonctionner jusqu’à la sortie de Kotlin 2.3 en mode compatibilité avec la version 1.9 du langage. De même, KotlinScriptMojo, un plugin Maven qui supporte l’exécution de scripts pendant une compilation Maven. JetBrains a trouvé que son utilisation n’était pas suffisante pour continuer à le maintenir, et prévoit donc de l’abandonner dans les prochaines versions de Kotlin.
Autre victime, kotlin-scripting-ide-services, une bibliothèque utilisée pour la fonctionnalité de complétion de code, principalement pour les implémentations REPL. Elle est actuellement utilisée dans des projets du genre Kotlin Interactive. Parce qu’elle est fortement basée sur l’infrastructure du compilateur antérieure à K2, elle ne peut pas être facilement portée vers la version K2. Par conséquent, elle cessera probablement de fonctionner autour de la sortie de Kotlin 2.3 et sera retirée de la base de code. L’éditeur pourrait envisager de réimplémenter des fonctionnalités similaires sur K2 à l’avenir.
Le script dans Kotlin reste un élément essentiel
« L’écriture de script Kotlin reste un élément essentiel de l’infrastructure Kotlin », a déclaré JetBrains. L’entreprise continuera à la prendre en charge à titre expérimental. Les scripts Kotlin permettent d’exécuter le code Kotlin sous forme de scripts sans compilation préalable ni conditionnement en exécutables. Le fournisseur continuera à offrir un support généralisé pour l’écriture de scripts en Kotlin, laquelle comprend la compilation et l’évaluation de fichiers .kts de base, ainsi que l’écriture de scripts personnalisés. Cependant, JetBrains n’est pas prêt à recommander l’écriture de scripts en Kotlin comme solution d’écriture généralement applicable ou comme remplacement de Bash ou de Python.
Cela fait longtemps que les scripts ont été introduits dans Kotlin, à titre expérimental, afin d’étudier les différentes manières d’utiliser le langage. « Depuis, le développement a été guidé par la demande des utilisateurs externes et internes et par les expériences de l’équipe Kotlin », a indiqué JetBrains.