Как Kotlin на JVM планирует справиться с новой политикой выпусков Java? - PullRequest
0 голосов
/ 28 мая 2018

AFAIK, Kotlin предназначается для java 6 и java 8. Java 9 вне их, есть ли план нацеливаться на Java 9?У меня есть еще более широкий вопрос.Теперь у Java будет новый выпуск каждые 6 месяцев.Что Котлин планирует сделать с этим?Какова ожидаемая задержка для Kotlin для нацеливания на последнюю версию Java.

UPD-1: Моя главная проблема заключается в том, что Oracle начала активно удалять функции.Например, в Java 11 планируется удалить JAX-WS и JAXB из JDK .Таким образом, требуется соответствующая подготовка с сайта Kotlin.У меня вопрос, какой план у Jetbrain для новой версии Java.

Ответы [ 3 ]

0 голосов
/ 28 мая 2018

Kotlin нацелен на Java 8, потому что он представляет основные изменения JVM, которые Kotlin может использовать (например, методы по умолчанию в интерфейсах и invokedynamic изменения, которые включают Java-лямбды).Обратите внимание, что у Kotlin нет отдельной цели Java 7;единственные изменения, относящиеся к Kotlin, существуют в расширенной стандартной библиотеке, и они не требуют изменений в самом Kotlin, просто дополнительная библиотека.То же самое должно относиться к большинству новых выпусков.Т.е., возможно, будет kotlin-stdlib-jdk10/11, и не обязательно даже это.

Следующее такое изменение, которое может произойти, это когда Java добавляет типы значений и / или обобщения к примитивам (у которых нет целевой версии).еще ).В то время как существующие версии Kotlin, вероятно, не смогут использовать типы значений (в зависимости от дизайна), Kotlin действительно реализует обобщение над примитивом на уровне языка, совершенно аналогично тому, как это имеет неабстрактные методы в интерфейсах.

0 голосов
/ 30 мая 2018

Kotlin не зависит от JAX-WS или JAXB, и поэтому не нужно вносить какие-либо изменения для совместимости с Java 11.

Мне трудно понять, почему вы думаете, что это будетбыть проблемой.

0 голосов
/ 28 мая 2018

любой план нацеливания на Java 9?

Kotlin был совместим с Java 9 начиная с версии 1.2:

Стандартная библиотека Kotlin теперь полностью совместимас модульной системой Java 9, которая запрещает разделение пакетов (несколько jar-файлов объявляют классы в одном пакете).Чтобы поддержать это, введены новые артефакты kotlin-stdlib-jdk7 и kotlin-stdlib-jdk8

source

...