экспериментальный, а не некоторые его части.

ли соплины Kotlin использоваться в производстве, и что означает их экспериментальный статус?

Ответы на вопрос(1)

Решение Вопроса

ОБНОВИТЬ: Сопрограммы Kotlin больше не являются экспериментальными с Kotlin 1.3.

Сопрограммы Kotlin могут и должны использоваться в производстве. Это было главной причиной их официального выпуска в Kotlin 1.1. Выпустив их, команда JetBrains взяла на себя обязательство поддерживать обратную совместимость в отношении любых изменений, которые вносятся в них в второстепенных выпусках по мере их развития, в то же время позволяя людям безопасно использовать их в сложных производственных приложениях.

Короче говоря, разница между «экспериментальными» и «обычными» функциями заключается в том, что для обычных функций Kotlin новые вещи не могут быть добавлены в незначительные обновления, поскольку существует гарантия «полной совместимости», в то время как для экспериментальных функций могут быть добавлены новые вещи, но ничего не может быть удалено (из-за гарантии обратной совместимости).

Экспериментальные сопрограммы используют отдельныйkotlin.coroutines.experimental имя пакета, так что когда дизайн сопрограмм будет завершен и они перейдут кkotlin.coroutines пакет, старый скомпилированный код не сломается, но продолжит работать через отдельную библиотеку поддержки.

Дальнейшее обсуждение (продолжительное чтение) о том, почему они являются «экспериментальными» и что это значит, можно найти всообщение на форуме Андрей Бреслав.

Тот же вопрос относится к библиотекам поддержки сопрограмм.

Текущая версияkotlinx.coroutines предназначен для производственного использования. Он довольно хорошо покрыт тестами, многие вещи уже оптимизированы, все изменения сделаны с учетом проблем обратной совместимости с ранее скомпилированным кодом. Он, безусловно, служит испытательным стендом для различных вещей, основанных на сопрограммах, поэтому есть некоторые части, которые четко помечены как «незавершенные» или «нестабильные» в документации соответствующих функций и классов. Однако по умолчанию все общедоступные API вkotlinx.coroutines считаются стабильными и развиваются, при необходимости, с помощью соответствующих средств миграции.

 Jean de Klerk16 авг. 2018 г., 01:03
Части этого ответа явно неверны.весь пакет экспериментальный, а не некоторые его части.
 Elye25 янв. 2018 г., 23:47
Это все еще вызывает у меня беспокойство, когда я вижу выделенное предупреждение о функции, которую мы используем, например. запустить, заявивThe feature "coroutines" is experimental (see more here) и ссылка наkotlinlang.org/docs/diagnostics/experimental-coroutines.html
 Marko Topolnik06 февр. 2018 г., 13:12
Это что-то вроде Catch-22, не так ли? Как они будут испытаны в бою, если их никто не опробует :) С другой стороны, мой опыт работы с «экспериментальными» функциями JetBrains намного выше опыта с выпусками «производственного качества» от многих других поставщиков. В частности, у меня не было абсолютно никаких проблем с реализацией сопрограмм; Единственные «глюки», которые я видел, касались некоторых деталей в их обработке статической системой типов, которые не имеют последствий для среды выполнения. Они прошли довольно серьезные стресс-тесты и тесты в Hazelcast Jet, с летающими цветами.

Ваш ответ на вопрос