JetBrains планирует отказаться от ряда технологий, связанных с исполнением скриптов в Kotlin. Это затронет REPL, устаревший API для Java-скриптов, плагин Maven KotlinScriptMojo и библиотеку kotlin-scripting-ide-services, ответственную за автодополнение. По заявлению компании, эти инструменты не получили ожидаемого распространения среди разработчиков. Поддержка Gradle Kotlin DSL и Custom Scripting API будет продолжена.
В своем блоге JetBrains объяснила это решение тем, что потребности пользователей в написании скриптов уже удовлетворяются другими, более популярными технологиями. Исследование компании показало невысокий спрос на инструменты для работы со скриптами в Kotlin.
Из компилятора Kotlin и IntelliJ IDEA будут удалены следующие компоненты:
- REPL. Функциональность ограничена, а её развитие не в приоритете. JetBrains рекомендует использовать плагин Kotlin Notebook и Scratch-файлы для интерактивной разработки. Часть функций REPL, связанных с выполнением программного кода в режиме реального времени, останется в компиляторе и Custom Scripting API, но с переходом на компилятор K2 их количество значительно сократится.
- Поддержка Java Specification Request 223 (сценарии для Java). Спецификация отозвана, поэтому JetBrains не видит смысла в поддержке устаревшего API. Существующая реализация продолжит работу до выхода Kotlin 2.3 в режиме совместимости с версией 1.9.
- Плагин Maven KotlinScriptMojo. JetBrains не обнаружила достаточного количества пользователей этого плагина для работы со скриптами, поэтому он будет удалён из будущих версий Kotlin.
- Библиотека kotlin-scripting-ide-services. Этот компонент, используемый в таких проектах, как Kotlin Interactive, тесно связан с устаревшим компилятором и сложно портируется на K2. Скорее всего, библиотека перестанет работать с выходом Kotlin 2.3 и будет удалена из кодовой базы. JetBrains не исключает возможности реализовать аналогичную функциональность на базе K2 в будущем.
Работа со скриптами была экспериментальной функцией Kotlin, и её развитие зависело от потребностей пользователей. JetBrains продолжит экспериментальную поддержку некоторых возможностей, связанных со скриптами, включая компиляцию и запуск .kts-файлов и пользовательских скриптов. Однако компания не рекомендует использовать Kotlin в качестве основного инструмента для написания скриптов вместо Bash или Python.