Size: a a a

Kotlin Community

2020 September 10

VP

Vladimir Petrakovich in Kotlin Community
Я не говорю, что на джаве лучше, но конкретно эти два примера сравнивать немного некорректно
источник

LS

Lev Shagalov in Kotlin Community
Iaroslav Postovalov
вы имеете в виду модули как субпроекты или модули как source sets?
Прочитал про hmpp но это чего не ко мне, нет натива.
Так что как субпроекты

Какой код размещать в одном мультиплатформенном модуле, а какой в разных?
источник

BP

Bogdan Panchenko in Kotlin Community
Vladimir Petrakovich
Я не говорю, что на джаве лучше, но конкретно эти два примера сравнивать немного некорректно
+
источник

с#

саша сок #KotlinGang... in Kotlin Community
Bogdan Panchenko
На вкус и цвет. Твой дсл может легко в кашу превратится и стать невменяемым и не читаемым.
если мне надо прогнать for на билдер, то жесть

FileSpec.Builder()
   .addType(TypeSpec.builder()
       .addParameter("name", TypeSpec.builder().
             .addTypeParam(...)
            .build())
        .build())
   .build()
источник

AL

Alexander Levin in Kotlin Community
Bogdan Panchenko
Смаркастов переоценены это сахар. Контекст лямб может породить вложенность и это потом не прочитаешь. Функции расширения - да они очень круты, но мусорять namespace
>Мусорять namespace

Да вроде как-то получше чем замусоривать интерфейс. Но да, возможно приятнее было бы pipeline operator вместо это завести для большинства случаев (хотя продавать DSL наверное стало бы сложнее)

>Смарткасты переоценены

Ну т.е. паттерн матчинг > смарт касты > руками кастовать. Через пару лет может конечно джава обгонит в этом аспекте, да. Пока что не особо.


В целом по мне Котлин не прямо идеальный язык, но мне на нём приятнее писать, чем на Джаве (но если бы я был сильно завязан на тулинг, то ситуация возможно была иной)
источник

VP

Vladimir Petrakovich in Kotlin Community
саша сок #KotlinGang
observe(new Observer() {
   @Override
   public void onNext(String item) {

   }
   @Override
   public void onComplete(...) {

   }
}
Кстати, если Observer - тип с дженериком, джава имеет шанс его вывести в месте объявления анонимного класса. А вот котлин такое не позволяет.
источник

с#

саша сок #KotlinGang... in Kotlin Community
саша сок #KotlinGang
если мне надо прогнать for на билдер, то жесть

FileSpec.Builder()
   .addType(TypeSpec.builder()
       .addParameter("name", TypeSpec.builder().
             .addTypeParam(...)
            .build())
        .build())
   .build()
это выглядит не читаемо по сравнению с

file {
   type {
       val type = type { }
       parameter("...", type)
   }
}
источник

BP

Bogdan Panchenko in Kotlin Community
Alexander Levin
>Мусорять namespace

Да вроде как-то получше чем замусоривать интерфейс. Но да, возможно приятнее было бы pipeline operator вместо это завести для большинства случаев (хотя продавать DSL наверное стало бы сложнее)

>Смарткасты переоценены

Ну т.е. паттерн матчинг > смарт касты > руками кастовать. Через пару лет может конечно джава обгонит в этом аспекте, да. Пока что не особо.


В целом по мне Котлин не прямо идеальный язык, но мне на нём приятнее писать, чем на Джаве (но если бы я был сильно завязан на тулинг, то ситуация возможно была иной)
В джаве уже патерматчинг 😏😉
источник

BP

Bogdan Panchenko in Kotlin Community
Мне тоже на котлине приятней писать
источник

VP

Vladimir Petrakovich in Kotlin Community
Bogdan Panchenko
В джаве уже патерматчинг 😏😉
Толстый вброс, учитывая что его там ещё нет
источник

с#

саша сок #KotlinGang... in Kotlin Community
Alexander Levin
>Мусорять namespace

Да вроде как-то получше чем замусоривать интерфейс. Но да, возможно приятнее было бы pipeline operator вместо это завести для большинства случаев (хотя продавать DSL наверное стало бы сложнее)

>Смарткасты переоценены

Ну т.е. паттерн матчинг > смарт касты > руками кастовать. Через пару лет может конечно джава обгонит в этом аспекте, да. Пока что не особо.


В целом по мне Котлин не прямо идеальный язык, но мне на нём приятнее писать, чем на Джаве (но если бы я был сильно завязан на тулинг, то ситуация возможно была иной)
> Через пару лет может конечно джава обгонит в этом аспекте, да. Пока что не особо.

как будто котлин развиваться не будет
источник

VP

Vladimir Petrakovich in Kotlin Community
Котлин будет пытаться натянуть эти фичи на свои, будет чем заняться
источник

AL

Alexander Levin in Kotlin Community
саша сок #KotlinGang
> Через пару лет может конечно джава обгонит в этом аспекте, да. Пока что не особо.

как будто котлин развиваться не будет
Ну там обещали посмотреть как сделать паттерн матчинг хорошо и сделать, но пока прямо мало телодвижений в эту сторону (субъективно, может конечно на деле очень много, но я не видел их)
источник

BP

Bogdan Panchenko in Kotlin Community
Vladimir Petrakovich
Толстый вброс, учитывая что его там ещё нет
Эксперентал котлиновский. Тогда в котлин нет ни мультиплатформы, ни инлайн классов, ни серелизации, etc
источник

PE

Pavel Erokhin in Kotlin Community
Bogdan Panchenko
Эксперентал котлиновский. Тогда в котлин нет ни мультиплатформы, ни инлайн классов, ни серелизации, etc
сериализация ща вроде уже не экспериментал, не? 1.0 которая. kotlinx.serialization
источник

VP

Vladimir Petrakovich in Kotlin Community
Bogdan Panchenko
Эксперентал котлиновский. Тогда в котлин нет ни мультиплатформы, ни инлайн классов, ни серелизации, etc
Я это всё не использую, и мне норм. ЧЯДНТ?
источник

PE

Pavel Erokhin in Kotlin Community
Vladimir Petrakovich
Я это всё не использую, и мне норм. ЧЯДНТ?
+1
источник

с#

саша сок #KotlinGang... in Kotlin Community
Vladimir Petrakovich
Я это всё не использую, и мне норм. ЧЯДНТ?
Тем более что в джаве тоже этого нет
источник

BP

Bogdan Panchenko in Kotlin Community
Alexander Levin
Ну там обещали посмотреть как сделать паттерн матчинг хорошо и сделать, но пока прямо мало телодвижений в эту сторону (субъективно, может конечно на деле очень много, но я не видел их)
Ну смаркастов поудобней, не нужно имена придумывать. Мне это больше нравится
источник

VP

Vladimir Petrakovich in Kotlin Community
саша сок #KotlinGang
Тем более что в джаве тоже этого нет
Действительно. Так что странные аргументы.
источник