Size: a a a

Kotlin Community

2019 October 24

ДП

Дмитрий Полянин in Kotlin Community
В Котлине то сомнений нет ))
источник

AN

Alexander Nozik in Kotlin Community
Дмитрий Полянин
Я ещё хотел спросить.
Говорили что например дженерики в байтовый код  JVM не генерятся.
А значит и рефлексией нормально не берутся.
Вообще меня это если честно не особенно парит, но всё же хочу узнать как с этим.
Уж простите меня за мои вопросы, просто хочу для себя понять некоторые моменты.
Я 17 лет на Java не программировал ☺️
Почитайте про type erasure. Есть разные способы это обойти если надо.
источник

QH

Quantum Harmonizer in Kotlin Community
Дмитрий Полянин
Я ещё хотел спросить.
Говорили что например дженерики в байтовый код  JVM не генерятся.
А значит и рефлексией нормально не берутся.
Вообще меня это если честно не особенно парит, но всё же хочу узнать как с этим.
Уж простите меня за мои вопросы, просто хочу для себя понять некоторые моменты.
Я 17 лет на Java не программировал ☺️
А в чём, собственно, вопрос?
источник

ДП

Дмитрий Полянин in Kotlin Community
Alexander Nozik
Почитайте про type erasure. Есть разные способы это обойти если надо.
Да, я понимаю что это можно решить.
Меня больше эта ситуация волнует не с точки зрения именно дженериков. Я для них рефлексию никогда не использовал. А с точки зрения развития самой платформы.
источник

AN

Alexander Nozik in Kotlin Community
Решение использовать type erasure вместо type reification было вполне обосновано и я думаю, что оно правильное. Так что я не думаю, что тут что-то будет меняться. Конкретно в Kotlin, большинство use case-ов рантайм жденериков перекрывается при помощи реификации типов в инлайнах.
источник

VP

Vladimir Petrakovich in Kotlin Community
Дмитрий Полянин
Да, я понимаю что это можно решить.
Меня больше эта ситуация волнует не с точки зрения именно дженериков. Я для них рефлексию никогда не использовал. А с точки зрения развития самой платформы.
Платформа уже лет 15 успешно развивается с такими дженериками
источник

A

Aleksandr in Kotlin Community
источник

ТБ

Тимур Бухараев in Kotlin Community
Логичный Лесник
Всем привет, у меня новичковый вопрос на счёт server-side. Есть ли смысл учить Kotlin для бэкенда? Судя по всему java скоро догонет его по фичам.
имеет смысл

вообще если java знакома, то переходить на котлин легко
его даже не надо специально учить, проще просто в процессе разбираться

насчет скоро догонит по фичам - очень сомневаюсь

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

AM

Andrew Mikhaylov in Kotlin Community
Patrick Lemke
plugins {
   
id 'org.jetbrains.kotlin.multiplatform' version '1.3.50'
}
repositories {
   
mavenCentral()
}

kotlin {
   
// For ARM, should be changed to iosArm32 or iosArm64
   // For Linux, should be changed to e.g. linuxX64
   // For MacOS, should be changed to e.g. macosX64
   // For Windows, should be changed to e.g. mingwX64
   macosX64("macos") {
       
binaries {
           
executable {
               
// Change to specify fully qualified name of your application's entry point:
              entryPoint = 'sample.main'
               // Specify command-line arguments, if necessary:
               runTask?.args('')
           }
       }
   }
   
sourceSets {
       
// Note: To enable common source sets please comment out 'kotlin.import.noCommonSourceSets' property
       // in gradle.properties file and re-import your project in IDE.
       macosMain {
           
dependencies {
               
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-native:1.3.2"
           }
       }
       
macosTest {
       }
   }
}

// Use the following Gradle tasks to run your application:
// :runReleaseExecutableMacos - without debug symbols
// :runDebugExecutableMacos - with debug symbols
I've never tried to use multiplatform without common declarations so I'm not sure this is the reason for it not to work, but still.
Try to add the following to your kotlin.sourceSetss block:
commonMain {
   dependencies {
       implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2"
   }
}

And probably you'll have to do the stuff comment mentioning gradle.properties asks you.
источник

ДП

Дмитрий Полянин in Kotlin Community
Alexander Nozik
Решение использовать type erasure вместо type reification было вполне обосновано и я думаю, что оно правильное. Так что я не думаю, что тут что-то будет меняться. Конкретно в Kotlin, большинство use case-ов рантайм жденериков перекрывается при помощи реификации типов в инлайнах.
» реификации типов в инлайнах.
Это как?
источник

ДП

Дмитрий Полянин in Kotlin Community
А почему если котлин новый язык не добавить в JVM нормальную рефлексию для котлина?
источник

AN

Alexander Nozik in Kotlin Community
У меня очень плохой интернет в этой долбаной Испании. Google: kotlin inline reification
источник

VP

Vladimir Petrakovich in Kotlin Community
Дмитрий Полянин
» реификации типов в инлайнах.
Это как?
источник

AN

Alexander Nozik in Kotlin Community
Дмитрий Полянин
А почему если котлин новый язык не добавить в JVM нормальную рефлексию для котлина?
Там все есть для котлина. Но стирание типов - это не про рефлексию
источник

VP

Vladimir Petrakovich in Kotlin Community
Дмитрий Полянин
А почему если котлин новый язык не добавить в JVM нормальную рефлексию для котлина?
Тогда получится Ceylon
источник

AN

Alexander Nozik in Kotlin Community
или C#. Но я на самом деле чем дальше, тем больше считаю, что стирание - это была правильная идея, а не просто экономия.
источник

ЛЛ

Логичный Лесник in Kotlin Community
Тимур Бухараев
имеет смысл

вообще если java знакома, то переходить на котлин легко
его даже не надо специально учить, проще просто в процессе разбираться

насчет скоро догонит по фичам - очень сомневаюсь

основной бонус - будет приятнее работать
обратно на java потом уже не захочется, она будет ощущаться не удобной и устаревшей, трактор на пару и мазуте из прошлого века по сравнению с новеньким электрокаром
Да, тут довольно много положительных отзывов собралось (что не удивидельно для этого чатика), поэтому я решил всё же начать погружаться в котлин, но с Android-а, написав на нём небольшое приложение. Язык действительно, кажется очень знакомым после java/scala.
источник

AN

Alexander Nozik in Kotlin Community
Логичный Лесник
Да, тут довольно много положительных отзывов собралось (что не удивидельно для этого чатика), поэтому я решил всё же начать погружаться в котлин, но с Android-а, написав на нём небольшое приложение. Язык действительно, кажется очень знакомым после java/scala.
Вот не надо начинать с андроида. Если хотите изучить язык, а не андроид, то это очень плохое решение
источник

VP

Vladimir Petrakovich in Kotlin Community
Логичный Лесник
Да, тут довольно много положительных отзывов собралось (что не удивидельно для этого чатика), поэтому я решил всё же начать погружаться в котлин, но с Android-а, написав на нём небольшое приложение. Язык действительно, кажется очень знакомым после java/scala.
Ну да, ожидаемо. В @jvmchat ответы разнообразнее будут, наверное.
источник

VP

Vladimir Petrakovich in Kotlin Community
Логичный Лесник
Да, тут довольно много положительных отзывов собралось (что не удивидельно для этого чатика), поэтому я решил всё же начать погружаться в котлин, но с Android-а, написав на нём небольшое приложение. Язык действительно, кажется очень знакомым после java/scala.
Так а вчера же вроде речь шла про бекенд?
источник