
Ilya
27.04.2017
06:20:09
Всем привет! Решил почитать про Котлин. Насколько я понимаю наиболее официальная книга - Kotlin in Action. Реально ли ее найти на просторах интернета или может кто-то поделиться может?

kirbulich
27.04.2017
06:21:02

Igor
27.04.2017
06:22:33

Ilya
27.04.2017
06:22:52

Google

Ilya
27.04.2017
06:25:36
нашел, но это не совсем то что я искал http://joxi.ru/LmGeQePieKMW0A

Igor
27.04.2017
06:27:28

Ilya
27.04.2017
06:28:03

Igor
27.04.2017
06:31:06

Ilya
27.04.2017
06:33:12

Igor
27.04.2017
06:33:40
там, наверное, то же самое. Стоящая хоть книга?
Нашел репозиторий (там dpf/epub/docx)! Ищи по топикам kotlin-in-action + ebooks (топики это типа теги).
Я бы сказал, что это просто копипаста документации, только более развернутая и с комментариями.
Я учил по видео с Бреславом на youtube и документации на сайте. Можно еще kotlin-koans пройти.

Ilya
27.04.2017
06:38:20

Igor
27.04.2017
06:41:58

I
27.04.2017
06:45:07

Ilya
27.04.2017
06:46:55
а может кто-нибудь в кратце рассказать про Котлин. Это просто набор синтаксического сахара над Java или реально мощный язык. Если второе, что что в нем самое выдающееся?

Dmitry
27.04.2017
06:49:45
там ответы на Ваши вопросы
Котлин это отдельный язык, а не синтаксический сахар. Если я правильно первый вопрос понял

Google

Ilya
27.04.2017
06:50:51
я пробовал вчера. Пока заметил только различные синтаксические вкусности. Поэтому интересуюсь.
Я знаю, что отдельный язык, но хочу понять чем он лучше Java
Есть там что-то такое чего нет в Java

Dmitry
27.04.2017
06:53:44
смотря что Вас интересует. Не спец по быстродействию и производительности, лично для меня котлин удобен лаконичностью, ребятам из jetBrains удалось разгрузить конструкции джава и это очень удобно на мой взгляд. И некоторые вещи выглядят намного логичнее после этого.

Igor
27.04.2017
06:55:06

Dmitry
27.04.2017
06:55:09
@iksudnik буквально вчера был неплохой митап, там есть про производительность котлина и про его фишки
https://www.youtube.com/watch?v=kGUBasuFf5k&feature=youtu.be

Ilya
27.04.2017
06:57:19
А такой вопрос. Насколько Котлин популярен за пределами СНГ?

Диёр
27.04.2017
06:59:18

Dmitry
27.04.2017
07:00:07
ну я кстати видел пожелания к знанию котлин. Например, в вакансиях Австралии. %)
на линкедине тоже бывает проскакивает

? animufag ?
27.04.2017
07:40:44
не нужно из гц делать что-то магическое. если ты можешь построить своё предложение без гц - строй без него
вот вчера чел говорил что в котлине есть проблемные места в плане гц
оказалось что речь про аллокации

Igor
27.04.2017
07:42:33
Кто-нибудь писал библиотеки на Kotlin, что-бы через maven распростронять?
Говорят там зависимость на stdlib можно как-то обрезать через progurad, кто-нибудь пробовал?

? animufag ?
27.04.2017
07:44:17
вот ты сейчас говоришь про особенности asynctask и rx либ. можно же просто сказать что они захватывают ссылки и живут дольше чем надо. а не то что нужно знать ГЦ а не то (Господи помилуй) Утечки Памяти!!

Quantum Harmonizer
27.04.2017
07:54:24
Кто libgdx использует с kotlin
Если не особо запариваться, то на Java всё же привычнее. В частности, zero-allocation-цикл с удалением на ней написать проще:
for (int i = 0, size = collection.size(); i < size; i++) {
if (iWantToDeleteItem) {
collection.remove(i)
size--; i--;
}
}
Если заморочиться, можно (но немного костыльно) написать extension, который сделает то же самое на Котлине.
Мне заморачиваться было некогда.)

Pavel Shackih
27.04.2017
08:00:43

Google

Quantum Harmonizer
27.04.2017
08:01:10

Pavel Shackih
27.04.2017
08:05:18
точно)

Boris
27.04.2017
08:15:37

Quantum Harmonizer
27.04.2017
08:16:34

Igor
27.04.2017
08:20:23

Boris
27.04.2017
08:22:38
я просто один в один портировал джава-код
так-то есть много спсобов это сделать

Igor
27.04.2017
08:34:04
Смотрите какая фича https://youtrack.jetbrains.com/issue/KT-4895
Если кто думает что пригодится - плюсаните плиз (может сделают)

Михаил
27.04.2017
08:36:13
а есть там предложения сделать, чтоб варарги не надо было складывать обязательно в эррей?

Quantum Harmonizer
27.04.2017
08:36:27

Михаил
27.04.2017
08:36:58
ну чтоб если у тебя один параметр варарга, то не запихивать его в массив
как в джаве

Quantum Harmonizer
27.04.2017
08:37:30

Михаил
27.04.2017
08:38:59
допустим метод на джаве :
void doSomething(String... strings) {}в котлине придется вызывать как
doSomething(arrayOf(""))

Quantum Harmonizer
27.04.2017
08:39:15

Михаил
27.04.2017
08:39:16
в джаве можно не заворачивать в массив

Quantum Harmonizer
27.04.2017
08:39:30
arrayOf — это такой же vararg метод
fun x(vararg z: String) {
}
fun z() {
x("")
}

Михаил
27.04.2017
08:40:29
а если вызов джава кода?

Google

Quantum Harmonizer
27.04.2017
08:41:13
не знаю, в моей жизни варарги настолько редки, что они ещё не столкнулись с интеропом.)

? animufag ?
27.04.2017
08:41:16

Михаил
27.04.2017
08:41:43
в андроиде это аннотации дагера 2

Quantum Harmonizer
27.04.2017
08:42:38
кейс это аннотации в спринге
А, в аннотациях параметры именованные, а с ними варарги не сочетаются.
Насколько я знаю, специально для этого случая (!) сделали литерал [], кто-то показывал коммит.

Михаил
27.04.2017
08:43:05

Admin
ERROR: S client not available

Михаил
27.04.2017
08:43:15
то есть щас можно не заворачивать?

Quantum Harmonizer
27.04.2017
08:43:19

Михаил
27.04.2017
08:43:32
было бы круто
мелочь а приятно
слышал что есть у котлиновского компиляторв настроечка, чтоб не было рантайм проверок на null у nonnull типов
никто не в курсе как подрубить?

Диёр
27.04.2017
08:50:21
А в чём смысл?

Михаил
27.04.2017
08:50:56
и будет ли это работать как я думаю? в компайл тайме он мне скажет косяки, но в рантайме упадет с npe там где должно

Quantum Harmonizer
27.04.2017
08:51:09

Марат
27.04.2017
09:44:00
Кто то сталкивался с проблемой? execution failed for task ':app:compileDebugKotlinAfterJava

Quantum Harmonizer
27.04.2017
09:46:20
возможно, ошибка в коде

Марат
27.04.2017
09:47:18
а это не может быть связано с апдейтом плагина котлин?

Google

Quantum Harmonizer
27.04.2017
09:48:17
У меня, кстати, тоже только что компиляция поломалась. Из-за юникодных emoji в коде :)

Igor
27.04.2017
10:30:57
Питерцы, добавляйтесь в группу по митапам в СПб -> @gdgspb
Подоспели видео и слайды с Big Android Battle!
Слайды: https://speakerdeck.com/gdgspb/java-alternatives
Видео:
Groovy: https://www.youtube.com/watch?v=5KGBWjeaVfc
Kotlin: https://www.youtube.com/watch?v=KrEH_51c-Co
Scala: https://www.youtube.com/watch?v=NJ3dOkWaFBI

Alex
27.04.2017
10:42:09

Roman
27.04.2017
14:53:46
народ, что думаете про https://youtrack.jetbrains.com/issue/KT-17634
?
кому интересно, проголосуйте пожалуйста. ну и любые правки/замечания приветствуются
кроме того Роман Елизаров просит накидать реальных примеров кода туда. если у кого-то есть такие, напишите плз в комментах

Igor
27.04.2017
15:03:53
?
Это же что-то из Swift/C# 7.0 - оно там решает туже проблему что и наши смарткасты.
Если делать тоже в Kotlin, не кажется ли что это будет дублированием, того что уже есть?

Quantum Harmonizer
27.04.2017
15:04:21
Не могут поля смарткаститься, только локальные переменные.

Roman
27.04.2017
15:04:35
и да, это как раз про случаи, когда смарт касты не работают

Виталий
27.04.2017
15:05:07

Igor
27.04.2017
15:05:38

Roman
27.04.2017
15:06:24