Рубрики
Без рубрики

Вопрос: Насколько “Путь Котлина” Является Правильным Путем?

записка: Этот пост изначально предназначался для того, чтобы спровоцировать дискуссию, и, несмотря на его длину, является оригинальным… Помечено как обсуждение, kotlin, java, scala.

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

Мой опыт работы с JVM датируется примерно 2010 годом. Java в те дни немного отличалась от сегодняшней точки зрения. Java 6 была текущим стандартом в то время, но большинство проектов, над которыми я работал, застряли между Java 4 и 5. Это были крутые звери. Более подробный и утомительный для написания код.

В то время мы начали искать способ избавиться от бремени написания кода, но продолжали полагаться на широкое внедрение JVM. Groovy и Scala были двумя альтернативами, предлагающими большую выразительность языка с меньшим количеством шаблонов и церемоний. И, в то время как Groovy почему-то так и не обрел самоуважения, чтобы восприниматься как нечто большее, чем язык сценариев для оркестровки сборки и встроенного в приложение управления во время выполнения, Scala выглядела как смелое и сексуальное будущее JVM.

То есть до тех пор, пока язык и его сообщество идеологически не отдалились от Java. Хотя большинство существующих библиотек Java в то время были совместимы и доступны из среды выполнения Scala, они считались архаичными, утомительными в работе и просто не были созданы “способом Scala” . Этот лозунг был использован для оправдания создания совершенно новой экосистемы инструментов, библиотек и фреймворков, написанных с нуля с учетом Scala. Можно с уверенностью сказать, что в настоящее время для каждой существующей библиотеки Java можно найти два или три эквивалента Scala, написанные “the Scala way” . Я не большой специалист по Scala, но, ИМХО, это привело к полному разделению между двумя сообществами, каждое из которых изобретает велосипед по-своему.

Предполагалось, что Kotlin поможет решить все это. Присоединившись к игре достаточно поздно, JetBrains сделали ставку на совместимость Kotlin со стандартным кодом Java. Чтобы достичь этого, язык должен восприниматься как компаньон, а не как настоящий сдвиг парадигмы. За те три года, что я работал с Kotlin и следил за его разработкой, было всего несколько незначительных случаев, когда взаимодействие не работало на 100%, и это были более или менее крайние случаи. Казалось, что наконец-то достигнута золотая середина, где могут сосуществовать несколько языковых парадигм, а их сообщества сотрудничают для достижения общей цели.

Тем не менее, это не совсем то, что происходит. Я видел рождение сообщества разработчиков Kotlin-first, проповедующего вещи “путь Котлина” . Достаточно скоро начали появляться инструменты, библиотеки и фреймворки, имеющие прекрасно работающие эквиваленты на Java, но написанные на “идиоматическом Kotlin” . Я начал задаваться вопросом, где я видел это раньше 🤔 .

Не поймите меня неправильно, я на 100% за то, чтобы бросить вызов Статус-кво, но наступая на то, что уже хорошо работает, а не просто отбрасывая его за борт, потому что он не был построен “способом XYZ” .

И что вы думаете?

Оригинал: “https://dev.to/preslavrachev/q-how-much-of-the-kotlin-way-is-the-right-way-3129”