6 January 2017
SZ
14:02
Sergey Zolotov
есть джава
RI
14:03
Ruslan Ibragimov
После груви на джаве скучно будет 😂
AA
14:03
Anton Arhipov
есть и другие эзотерические поделки
SZ
14:04
Sergey Zolotov
щас градл затянет себе котлин вместо грувей. на спринге всякие тулы с груви на котлин переделают. и збс)
14:04
я загнул наверное?
АЖ
14:04
Алексей Жингеровский
да
SZ
14:05
Sergey Zolotov
да пох. один хер буду юзать котлин
AA
14:05
Anton Arhipov
In reply to this message
ну если чувакам очень нравится, то почему бы нет
SZ
14:05
Sergey Zolotov
29% для "ненужного языка" как по мне неплохо
14:06
1,287 голосовавших
14:06
это можно сказать активная часть сообщества, которая тусит в твиттере и юзает спринг
AA
14:07
Anton Arhipov
пффф.
14:07
я думаю, половина на самом деле не используют спринг, а голосуют просто за свой любимый яп
SZ
14:08
Sergey Zolotov
а еще скалисты ж голосовали за джаву 100%
RI
14:10
Ruslan Ibragimov
Я на самом деле не ожидал что будет столько людей за джаву.
ВГ
16:54
Влад Гаевский
проголосовал за джаву
9 January 2017
Roman Pihariev invited Roman Pihariev
Sergey Y. invited Sergey Y.
Сергей Греков invited Сергей Греков
Михаил invited Михаил
Андрей invited Андрей
Dave invited Dave
Pavel Onuchin invited Pavel Onuchin
Konstantin Yamshinskiy invited Konstantin Yamshinskiy
М
20:37
Михаил
че то народу маловато( это наверное нули не вмещаются?
Vadim Kotov invited Vadim Kotov
ВБ
20:37
Виталий Бендик
Здесь один Руслан на несколько сотен тянет :))
VK
20:38
Vadim Kotov
А что-то у вас лого Котлина старое
20:38
У меня значок с ним есть из 2012 года)
Sasha Tainyuk invited Sasha Tainyuk
АД
20:48
Алина Долгих
Это ж наоборот - молодое
VK
20:54
Vadim Kotov
20:54
Вот же новое
Alexander Chooley invited Alexander Chooley
АД
21:02
Алина Долгих
:)
Andriy Savchenko invited Andriy Savchenko
Paul invited Paul
Vladimir Be invited Vladimir Be
RI
21:16
Ruslan Ibragimov
Откуда столько людей
АД
21:17
Алина Долгих
А мы думали ты позвал
21:17
(Я думала)
ВБ
21:18
Виталий Бендик
@androiddevpodcast отсюда)
Max Rovkin invited Max Rovkin
АД
21:25
Алина Долгих
👍
21:25
Велкам!
MR
21:26
Max Rovkin
Ого как меня встречают
Discipuli invited Discipuli
Evgeny Shishkin invited Evgeny Shishkin
SZ
21:54
Sergey Zolotov
👍 привет котлинистам
М
21:56
Михаил
RP
21:57
Roman Pihariev
Alexey Zubkovskiy invited Alexey Zubkovskiy
Andrey T invited Andrey T
Ruslan Mikhalev invited Ruslan Mikhalev
RM
22:23
Ruslan Mikhalev
Быть может отсюда?
RM
22:23
Ruslan Mikhalev
SZ
Sergey Zolotov 09.01.2017 18:12:51
RM
22:23
Ruslan Mikhalev
Еще как вариант =)
А
23:02
Андрей
In reply to this message
Да не. @bendik позвал, поэтому он точно знает откуда
АЖ
23:02
Алексей Жингеровский
Ну вот, помню времена когда в чате было 5 человек... Сейчас уже не то...
ST
23:03
Sasha Tainyuk
In reply to this message
Хуже стало?
М
23:03
Михаил
А я помню времена когда в чате было 30 человек. Согласен - уже не то
АЖ
23:03
Алексей Жингеровский
Лучше!
М
23:05
Михаил
Есть вопрос по котлину с подковыркой)
23:05
Можно ли в котлине изменить val проперти класса?
23:06
Если да, то как
М
23:26
Михаил
Или это слишком просто?)
RM
23:29
Ruslan Mikhalev
Ну по сути это final переменная же
23:30
Так что должно быть просто
RI
23:30
Ruslan Ibragimov
Скорее всего речь про геттер
М
23:30
Михаил
Ну да)
RM
23:31
Ruslan Mikhalev
Не понял.
23:31
Заменить геттер?
М
23:31
Михаил
Почти
RM
23:32
Ruslan Mikhalev
val = final переменная + final геттер
М
23:32
Михаил
val a : Int = 5
get() {
field = 8
return field
}
Yuriy invited Yuriy
RM
23:32
Ruslan Mikhalev
аа
М
23:33
Михаил
Ну уровне байткода там просто записывается новое значение в поле
А
23:35
Андрей
тебе нужно что-то типа джавовского рефлекшена, изменить финальную переменную? Или это в твоем классе должно так работать?
М
23:36
Михаил
Не. Это реальный пример
B
23:36
Bahdan
Запилите голосовалку кто откуда - надо знать кого благодарить
М
23:36
Михаил
In reply to this message
Просто такая фича о которой нигде не сказано
23:37
По крайней мере ни на оф сайте ни в Kotlin in action
RM
23:38
Ruslan Mikhalev
По моему контракт это не рарушает
М
23:39
Михаил
Ну имхо довольно неявная вещь. Вроде final, но оказывается не совсем
RM
23:41
Ruslan Mikhalev
Это же проперти, а ты переопределил геттер
23:41
Все по контракту
23:42
Разве что нет возможности обойти геттер, как в груви, через @
23:42
Ну раз так в байткоде, то видимо нет
ВБ
23:52
Виталий Бендик
Об этом писал Артем Зиннатуллин
10 January 2017
М
00:49
Михаил
In reply to this message
а есть рефы?
g
00:49
guga
In reply to this message
И первый выпуск подкаста. 😂
М
00:50
Михаил
спаибо
RI
00:51
Ruslan Ibragimov
Мне кажется истерика на пустом месте
М
00:52
Михаил
это не истерика
RI
00:52
Ruslan Ibragimov
Ну тогда было много шума
М
00:52
Михаил
ничего такого не вижу в этой вещи
ВБ
00:53
Виталий Бендик
Kotlin: val does not mean immutable, it just means readonly, yeah
https://artemzin.com/blog/kotlin-val-does-not-mean-immutable-it-just-means-readonly-yeah/
00:53
А, уже дали ссылку)
Sergei Kuprin invited Sergei Kuprin
Valeriy Andrikeev invited Valeriy Andrikeev
DigitalKoi Taras invited DigitalKoi Taras
Ilya Gulya invited Ilya Gulya
Vladimir Be removed Vladimir Be
Alexey Sulatskov invited Alexey Sulatskov
Shushper invited Shushper
Alex Okruzhko invited Alex Okruzhko
Leonid invited Leonid
Sergey Lebedev invited Sergey Lebedev
SL
10:10
Sergey Lebedev
Может кто пошарить Котлин в действии?
D
10:30
Discipuli
In reply to this message
В смысле?
Roman Ismagilov invited Roman Ismagilov
RM
10:37
Ruslan Mikhalev
In reply to this message
книжку просит видать
АЖ
10:38
Алексей Жингеровский
Она не дорого стоит, могу пару глав показать если интересует, для завлечения
SZ
10:42
Sergey Zolotov
что есть в книге чего нет в доках?
ВБ
10:45
Виталий Бендик
Там сплошь и рядом параллели с Java
10:45
В книге
10:45
А не просто описание синтаксиса
RI
10:46
Ruslan Ibragimov
In reply to this message
Я думаю манниг и так главу дает полистать
Andrey Bondarenko invited Andrey Bondarenko
D
11:01
Discipuli
А какова Ее цена?
g
11:03
guga
In reply to this message
Так это же хорошо, котлин себя и позиционирует как better java.
ВБ
11:05
Виталий Бендик
In reply to this message
Так и я о чём?) Это на вопрос чем отличается от доков)
М
11:23
Михаил
In reply to this message
Много чего
11:24
In reply to this message
1400 со скидкой. Скидка на сайте котлина
Denis Vlasov invited Denis Vlasov
D
11:27
Discipuli
Где купить не подскажете?
М
11:28
Михаил
https://kotlinlang.org/docs/reference/ первая книжка. Скидка в описании к ней
Dmitriy Volkovskiy invited Dmitriy Volkovskiy
Ыгорь Кыо invited Ыгорь Кыо
Constantine invited Constantine
dima 💻 invited dima 💻
Yoshi Azazzello invited Yoshi Azazzello
SZ
17:21
Sergey Zolotov
о набежали тролли
17:21
скала не нужна
17:21
Igor Ramazanov invited Igor Ramazanov
RI
17:24
Ruslan Ibragimov
Скала нужна, только не в этом чате) Давай не будем троллить скалистов.
d
17:25
dima 💻
Руслан, а джава нужна?
Deleted Account invited Deleted Account
Nirland invited Nirland
Roman Romanov invited Roman Romanov
Nikolai Mitropolskii invited Nikolai Mitropolskii
Уйкучу @ invited Уйкучу @
АД
19:19
Алина Долгих
если вдруг еще не видели https://www.corda.net/2017/01/10/kotlin/
11 January 2017
Eugenu invited Eugenu
Виталий Бендик invited Евгений Асташев
ViTO Rossonero invited ViTO Rossonero
М
03:09
Михаил
Крутяк
Evgeny Petrikov invited Evgeny Petrikov
Igor invited Igor
g
18:20
guga
@HeapyHop тебя обратно инвайтить?
d
18:21
dima 💻
его походу только контакты инвайтить могут
Alexander Stefanenkov invited Alexander Stefanenkov
12 January 2017
06:04
Deleted Account
=( блин
06:05
никакизх обсуждений котлина, а я бы просто почитать хотел бы
VA
10:52
Valeriy Andrikeev
Котлин настолько хорош, что ни у кого не вызывает проблем никаких абсолютно. JetBrains надо было писать Android SDK
RM
10:55
Ruslan Mikhalev
Это все потому что он не нужен.
ST
10:58
Sasha Tainyuk
In reply to this message
Потому не осилил?))
RM
11:01
Ruslan Mikhalev
Что там осиливать. Микс между упрощенной скалой и упрощенным груви
ST
11:06
Sasha Tainyuk
In reply to this message
Ну тогда где аргументы почему не нужен?)
NM
11:08
Nikolai Mitropolskii
Вот груви, пожалуй, действительно не нужен. да
RM
11:09
Ruslan Mikhalev
Какие аргументы? На рынке он невостребован. Потому не нужен. Считается? =)
NM
11:09
Nikolai Mitropolskii
In reply to this message
Нуу вакансий по андройду на котлине в целом хватает на самом деле
ST
11:10
Sasha Tainyuk
In reply to this message
Версия 1.0 появился безгоду неделя, так что рано что то говорить. Плюс под андроид вполне заходит.
RM
11:16
Ruslan Mikhalev
С андроидом повезло, да. Рантайм котлина очень легкий, против > 5 метров скалы.
ST
11:19
Sasha Tainyuk
In reply to this message
Повезло? Не думаю. Адроид для них одно из приоритетных направлений. Так что при разработке это был не последний пункт.
SZ
11:23
Sergey Zolotov
те кто кричит "котлин не нужен" это потому что есть скала?
NM
11:23
Nikolai Mitropolskii
In reply to this message
Иными словами всё как надо сделали ребята. Рантайм легкий, оверхеда нет, учится легко. Что ещё нужно для счастья?
SZ
11:23
Sergey Zolotov
In reply to this message
видимо много динамики и фп, и чтобы отличался от всех языков
NM
11:25
Nikolai Mitropolskii
Ну Котлин вроде как ставил своей целью не особо отличаться, а наоборот впитать наиболее удачные идеи + добавить немного приятных фишечек
SZ
11:25
Sergey Zolotov
если я хочу взять спринг и хибернейт, а потом возьму скалу - на меня как на идиота будут смотреть
11:25
скала как better java это ж для нубов, нужно постигать дзен ФП
NM
11:26
Nikolai Mitropolskii
In reply to this message
Да... в глазах хипстеров плохо будете выглядеть... хотя с хибернейтом вы в любом случае будете плохо выглядеть)))
АЖ
11:27
Алексей Жингеровский
У меня на работе холивар случился знатный когда заговорил что надо бы уже котлин на андроид тянуть.
SZ
11:27
Sergey Zolotov
какие были аргументы против?
АЖ
11:27
Алексей Жингеровский
жесткие штыки, блин.
Основной поинт - official support from google
SZ
11:28
Sergey Zolotov
как этот саппорт должен выглядеть то?
NM
11:28
Nikolai Mitropolskii
In reply to this message
И часто вы кидаете гуглу свой код?)
SZ
11:28
Sergey Zolotov
ART ведь пофиг на чем у вас код
NM
11:30
Nikolai Mitropolskii
Ну короче реально странный аргумент. Тем более если без Котлина то на андройде сразу становится очень грустно, со всякими этими ретролямбдами...
11:30
К ретролямбдам гугловский суппорт как относится?))
VA
11:34
Valeriy Andrikeev
Гугл сам ретролямбду рекомендует (где то видел в туториалах)
ST
11:35
Sasha Tainyuk
In reply to this message
А как он должен к ним относиться?
VA
11:35
Valeriy Andrikeev
А насчёт Котлина, думаю что JetBrains переписав половину IDEA на Котлин врядли его забросит в обозримом будущем
11:36
Так что гугл-саппорт тут не особо нужен
MR
11:36
Max Rovkin
у гугла есть jack который позволяет java 8 без ретролямбды использовать, хотя принцип тот же получается
NM
11:36
Nikolai Mitropolskii
In reply to this message
Ну не знаю... также как к Котлину, наверное...
АЖ
11:36
Алексей Жингеровский
JB не переписал пол идеи на котлин
ST
11:36
Sasha Tainyuk
Вот котлин уже затащили в сдк, биндинг написан уже на котлине.
АЖ
11:36
Алексей Жингеровский
глянь github
SZ
11:37
Sergey Zolotov
был случай в мире пхп, когда на пхп был застой и реально долго развивался, фейсбук плюнул и сделал свой язык на основе пхп, который компилировался и запускался в своей виртуальной машине
потребление памяти и по скорости там почти в 2 раза шустрее чем обычный пхп был. завезли туда статическую типизацию, асинхронность и кучу плюшек которых не хватает в пхп
народ к этому пока присматривался, пхп успел обновиться до мажорной версии с новым движком, где по скорости он не уступает тому что выпустил фейсбук, по фичам тоже начал догонять и в итоге мягко говоря то что сделал ФБ для обычных юзеров стало не нужным... и сейчас как-то даже ФБ подзабросил свою разработку
АЖ
11:37
Алексей Жингеровский
просто бля, используют React Native который бета-бета в проде а котлин видетили не надёжно, ггг))
11:37
на самом деле просто в вопросе не разобрались, ну и есть может личные причины. Буду продолжать разговаривать
NM
11:38
Nikolai Mitropolskii
In reply to this message
Так я не понял, это к тому что Котлин не нужен или что Джава 8 и Скала не нужны?
SZ
11:39
Sergey Zolotov
In reply to this message
к тому что народ с подозрением относится к котлину, к скале относился. а после скалы мы получили в джаве что? лямбды, стримы и че там еще зашло
11:39
дефолтные методы в интерфейсах
g
11:40
guga
In reply to this message
ну лямбды ещё в 7ке были на слуху
SZ
11:40
Sergey Zolotov
вот как вышла джава 8, сказали - нах нам скала)
g
11:40
guga
а стартовали кажись в 6ке
NM
11:41
Nikolai Mitropolskii
In reply to this message
Вот этого я как раз вообще не понимаю. По мне так с точностью до наоборот. Если вы всеравно хотите переходить на это всякое стрим-апи, то чего тогда не взять нормальную Скалу или тот же Котлин.
SZ
11:42
Sergey Zolotov
для обычных задач стримов хватает ведь
MR
11:43
Max Rovkin
в котлине они мощней, ведь там можно писать extention func
NM
11:43
Nikolai Mitropolskii
In reply to this message
Да блин, когда-то и джава 6 хватало, причем не так давно. Вопрос же в удобстве
SZ
11:43
Sergey Zolotov
In reply to this message
ну это больше проблема стримов, они хреново расширяются
ST
11:43
Sasha Tainyuk
Вообще, отвечая на изначальный вопрос, то надо идти в слак. Там даже король иногда тусит)
MR
11:43
Max Rovkin
в котлине правда они на зываются не стримами, а как-то по-другому
g
11:43
guga
In reply to this message
вопрос в другом, где потом найти разрабов
MR
11:44
Max Rovkin
нормальный разраб на котлин пересядет за два дня
SZ
11:44
Sergey Zolotov
In reply to this message
это экстеншен методы для коллекций, не больше
NM
11:44
Nikolai Mitropolskii
In reply to this message
Вот тоже неправильный вопрос. Я не уверен что для джава 6/7 разраба перейти на джава 8 со стримами проще чем перейти на Котлин.
g
11:44
guga
In reply to this message
котлин — да, со скалой сложнее
11:45
Я не трогал котлин в проде, но разве там всё так очевидно?
MR
11:45
Max Rovkin
в принципе да
RM
11:46
Ruslan Mikhalev
Да и в скале в принципе тоже, если придерживаться Java-style
g
11:46
guga
Хм, @HeapyHop, пришло время паззлеров, паззлеры сами себя не сделают.
SZ
11:46
Sergey Zolotov
In reply to this message
тонкая эта грань..
NM
11:46
Nikolai Mitropolskii
In reply to this message
Да всё более чем очевидно. причем все эти мепы и фильтры на уровне компилятора разворачиваются, в отличии от джава 8 и скалы - где всё это полезет в рантайм
g
11:47
guga
In reply to this message
в другом чатике уже говорил о этом, что нету поддержки нового рантайма, и это не очень хорошо
11:47
с одной стороны
11:47
А с другой можно ранать на старых рантаймах
SZ
11:48
Sergey Zolotov
я наверное чет не понимаю, но ты ж можешь стрим апи юзать на котлине
NM
11:48
Nikolai Mitropolskii
In reply to this message
поподроблее пожалуйста. Джава 8 лямбду можно и на котлине написать
g
11:49
guga
In reply to this message
Прошу прощения, я давно смотрел на котлин, где-то год назад, тогда он разворачивал лямбы в обычный класс
MR
11:49
Max Rovkin
это на java 6
NM
11:50
Nikolai Mitropolskii
In reply to this message
ну в целом это не очень большая трагедия, если ещё не поправили - то поправят. На клиентский код это вообще никак не влияет
MR
11:50
Max Rovkin
так да, однохерственно на java 6 писали анонимные классы вместо лябмд
11:50
и ничего, жили
NM
11:51
Nikolai Mitropolskii
In reply to this message
Так блин на Скале!! (где вообще всё из лямбд) так делали вплоть до середины прошлого года. И ничего... и ещё хрен знает когда большинство проектов перейдет на 2.12
RM
11:52
Ruslan Mikhalev
In reply to this message
Столько достаточно? =)
MR
11:53
Max Rovkin
если для андроида это терпимо, где вся подобная шляпа играет роль, то для большой джавы это вообще ерунда
NM
11:53
Nikolai Mitropolskii
In reply to this message
Ну молодец. вбросил и народ понабежал)
SZ
11:54
Sergey Zolotov
котлин же еще инлайнит местами лямбды?
11:54
всякие map/filter разворачивает как минимум
NM
11:54
Nikolai Mitropolskii
In reply to this message
Да. поэтому актуальность обсуждаемого вопроса весьма сомнительна
RI
12:05
Ruslan Ibragimov
In reply to this message
Мы уже делали в ЕПАМ пазлеры, и я друзьям показывал. Если человек чуть пописал на котлине, то его тяжело запутать)
g
12:05
guga
там просто такие же грабли как и в джаве?
RI
12:06
Ruslan Ibragimov
Ну не, там инлайн например
12:06
И ретурн
NM
12:13
Nikolai Mitropolskii
Ретюрн в лябдах в котлине - это да, печаль. Вообще надо, наверное, его на уровне компилятора было запретить делат без метки
RI
12:13
Ruslan Ibragimov
Да все там логично обычно)
SZ
12:13
Sergey Zolotov
неочевидно сразу просто
12:13
а вообще IDE начнет ругаться сходу
RI
12:13
Ruslan Ibragimov
Просто для тех кто не писал выглядит непонятно
SZ
12:14
Sergey Zolotov
потому что сингнатура метода не будет совпадать с тем что возвращаешь из лямбды
RI
12:14
Ruslan Ibragimov
In reply to this message
Вот именно, основаная фишка пазлеров на котлине, это то что тебе код на слайдах показывают, а не в idea)
NM
12:14
Nikolai Mitropolskii
Да нихрена - после той же джавы 8 или скалы, в которых ретюрн из лябда возвращает из лябды. То что ретюрн вернет тебя из функции - таки весьма анекспекткд бехевиор
М
12:18
Михаил
In reply to this message
Там есть вполне четкие правила.
NM
12:20
Nikolai Mitropolskii
In reply to this message
Я не совмневаюсь что у компилятора есть четкие правила во что компилировать код)) Но как бы мне от этого не легче)
М
12:21
Михаил
В джаве тоже веселухи хватает. Например тот же switch
NM
12:21
Nikolai Mitropolskii
А что с ним не так? break? ну к этому уже все привыкли со времен Си
RI
12:22
Ruslan Ibragimov
In reply to this message
Т.е. ты еще не привык что в лямбда последний стейтмент = ретурн? А ретурн только в инлайн?
12:22
Или в чем там на практике проблема?
NM
12:23
Nikolai Mitropolskii
Ну проблема если я не хочу последний стейтмент, я хочу несколько ретюрнов из лябды в разных местах этой лябды
М
12:24
Михаил
Решается
NM
12:24
Nikolai Mitropolskii
метками?
М
12:24
Михаил
Да например)
NM
12:24
Nikolai Mitropolskii
Ну блин, это не круто
12:25
не, я не спорю с тем что это решается и обходится, но это коряво, в идеальном языке так не должно быть
RI
12:25
Ruslan Ibragimov
А, понял, тогда тебе просто лямбды не подходят, пиши анонимные функции
NM
12:26
Nikolai Mitropolskii
Это как?
RI
12:26
Ruslan Ibragimov
Вместо лямбды пишешь fun (...
М
12:27
Михаил
+
RI
12:27
Ruslan Ibragimov
Я с телефона, не очень удобно писать полноценный пример
NM
12:27
Nikolai Mitropolskii
А, ну блин. джаваскрипт какой-то получится
RI
12:28
Ruslan Ibragimov
Лично мне никогда не приходилось делать return@
М
12:29
Михаил
http://pastebin.com/KpF46KzC вот пример
NM
12:29
Nikolai Mitropolskii
Ну я на самом деле тоже только один раз делал return@, и вообще мне не нравится эта идея, так как читабельность не ахти с метками
SZ
12:30
Sergey Zolotov
In reply to this message
анонимные функции юзай да, вроде еще в референсах это было написано
NM
12:31
Nikolai Mitropolskii
Ну блин, реально как в жаваскрипте - функции со стрелками, функции без стрелок. То есть выход есть, но мне не нтавится так
М
12:32
Михаил
да и насколько это частый кейс?)
SZ
12:32
Sergey Zolotov
>One thing missing from the lambda expression syntax presented above is the ability to specify the return type of the function. In most cases, this is unnecessary because the return type can be inferred automatically. However, if you do need to specify it explicitly, you can use an alternative syntax: an anonymous function.
RI
12:32
Ruslan Ibragimov
In reply to this message
👍
NM
12:33
Nikolai Mitropolskii
In reply to this message
Ну не особо. Я не говорю что это прямо боль-боль. Но неприятно, в таком, практически идеальном ЯП
RP
12:34
Roman Pihariev
ребятки, есть наиболее быстрая и юзабельная страта по изучению Kotlin? или референсов на сайте разрабов с головой?
SL
12:34
Sergey Lebedev
Ребят, немного не в тему, но все же:
Ребят вопрос по рх: есть либа, которая слушает определенный протокол, считай есть бас из которого приходят евенты добавился и удалился девайс, в UI нужно отобразить все девайсы доступные в сети, что для этого лучше использовать? Я пришел к Subject<List<Device>>, есть советы?
SZ
12:34
Sergey Zolotov
In reply to this message
с головой хватает
NM
12:34
Nikolai Mitropolskii
In reply to this message
Дока на сайте) там изучать особо нечего. Но вообще ещё книжка есть
М
12:35
Михаил
есть и еще одна боль. например лямбды не конвертятся в sam интерфейсы, когда sam параметр конструктора
RP
12:35
Roman Pihariev
понял, эспеэсик
RI
12:35
Ruslan Ibragimov
In reply to this message
try.kotl.in и дока на сайте
RP
12:35
Roman Pihariev
In reply to this message
спасибо!
М
12:37
Михаил
In reply to this message
если язык заинтересовал, то имхо лучше потратить денег и купить kotlin in action. отличная книга, покрывает наверно все возможности языка(пока не столкнулся просто с тем что она не покрыла)
RP
12:39
Roman Pihariev
In reply to this message
а есть ссылочка со скидончиком каким-нибудь?)
12:40
Deleted Account
непонятно почему книга для котлина не бесплатна
М
12:40
Михаил
In reply to this message
https://kotlinlang.org/docs/reference/ скидка в описании к соотвествующей книге
RP
12:41
Roman Pihariev
In reply to this message
спасибо!
NM
12:41
Nikolai Mitropolskii
In reply to this message
Потому что написать хорошуюк книгу - непростая работа
М
12:41
Михаил
In reply to this message
самый прикол, что эта книга от разрабов котлина))
АЖ
12:41
Алексей Жингеровский
Это ж не груви пазлеры делать
12:55
>you will get used to using lots and lots of ! characters to override the null checks and allow NPEs to rampage through your systems.
😃
12:55
Deleted Account
In reply to this message
поэтому джетбрейнс даст денег автору
SZ
12:56
Sergey Zolotov
авторы и так в jb работают
NM
12:56
Nikolai Mitropolskii
In reply to this message
А кто даст денег джетбрейс?)
12:56
Deleted Account
но это же им нужно
12:56
чтобы язык популярный был
12:56
вон, свифт книга бесплатна
NM
12:57
Nikolai Mitropolskii
Ну у каждого свой путь популяризации, такими темпами можно ещё и доплачивать начать за использование котлина))
SZ
12:57
Sergey Zolotov
это хитрый план как заработать денег на языке 😃
NM
12:57
Nikolai Mitropolskii
вот-вот))
12:57
Deleted Account
я не думаю, что труды окупились
NM
12:58
Nikolai Mitropolskii
In reply to this message
Ну частично окупились - лучше чем совсем не окупились)
LP
12:59
Luger Parabellum
непонятно, кто будет книгу покупать. Я удовлетворюсь документацией, ковырянием гитхаба и примеров. Скорее всего, люди с опытом так и поступят. А , допустим, какой-нибудь студент\начинающий вряд ли купит книгу - а привлекать то как раз их и надо.
12:59
Deleted Account
тогда это сомнительно с точки зрения пиара и бух учета
A
13:00
Artyom
не нужна никакая книга чтобы котлин использовать.
документация отличная, куча примеров.
просто берешь и используешь для задач. для начала можно параллельно с java. и все – бесшовный переход

(юзал почти с первых билдов)
13:00
Deleted Account
это все так говорят,, что достаточно только доки
SZ
13:00
Sergey Zolotov
всегда есть открытые исходники еще)
13:00
Deleted Account
но это когда у тебя есть задача и хочешь ее сделать
SZ
13:00
Sergey Zolotov
я так в stdlib копался
13:00
Deleted Account
а когда ты такой, типа хочу язык программирования изучить, пока не знаю что делать, лучше книга
A
13:01
Artyom
если нет задачи, то никакой язык программирования вообще не нужен
13:01
Deleted Account
ну как бы, если ты студент
A
13:01
Artyom
ну так всё равно надо же придумать что-то – эксперимент, проектик, приложение
LP
13:02
Luger Parabellum
In reply to this message
именно этот кейс они и не учли - книга на них впервую очередь должна быть нацелена, но вряд ли студент будет ее покупать. А чувак с опытом ограничиться докой
NK
13:03
Nikita Kononenko
перекатился на котлин с M13 еще под ведроидом. документации хватило вполне, сейчас тоже достаточно => книги не нужны :D
13:03
Deleted Account
ну и плюс есть как бы люди, которым нужно сесть и почитаьь в транспорте
13:03
дока оч плохо читается)
RI
13:04
Ruslan Ibragimov
In reply to this message
d
13:25
dima 💻
а тут все в продакшене котлин в основном для дроида юзают?
A
13:40
Artyom
у меня еще пара веб сервисов на нем и разные утилитки
RI
13:43
Ruslan Ibragimov
In reply to this message
Люди пришли с андроид чата, понятно что подавляющее большинство будет именно с ним использовать
IG
13:43
Ilya Gulya
У меня сигнальный сервер для WebRTC ещё на нём
IR
13:46
Igor Ramazanov
у нас бекенд на котлине
13:46
1,5к rps
13:47
не жалеем
13:47
взяли вскоре после релиза
13:47
где-то в марте
13:47
а релиз по-моему в феврале был
13:47
2016-го года
RI
13:48
Ruslan Ibragimov
А какой стек?
IR
13:48
Igor Ramazanov
spark (который веб-сервер, а не скаловский), mongodb
13:48
embedded jetty короче
13:49
бекенд для казуальной игры
13:49
котлин нравится хорошей совместимостью с джавой и простотой поддержки и обучения
d
13:50
dima 💻
In reply to this message
ну это же не из-за того, что вы котлин взяли?😂
IR
13:50
Igor Ramazanov
блин, я просто рассказываю как у нас
13:52
хотя душа наверное к скале, кложе и эрлангу с эликсиром лежит
13:52
просто котлин оказался прагматичным выбором
13:52
кстати есть вопрос один
13:54
если есть стандарт POSIX, который определяет API для системных вызовов, если я правильно понимаю, то почему нельзя переносить приложения между разными UNIX системами, или можно, а я просто не в курсе?
13:54
ведь в конце концов любое приложение строится на абстракции операционной системы, используя ее системные вызовы - открыть файл, сокет и все такое
13:54
ведь если есть стандарт, то и API один и тот же?
RI
13:58
Ruslan Ibragimov
Если у тебя динамическая линковка, то все твои вызовы типо open, malloc, etc. идут через glibc. Это справедливо для большого количества софта. Проблема в том, что есть не совместимые реализации
13:59
Но я не настоящий строитель, так что не верь мне😄
IR
14:02
Igor Ramazanov
спасибо!
RI
14:03
Ruslan Ibragimov
Можно прочитать про BSD системы
14:03
И их совместимость с линуксами
14:32
Deleted Account
Тут про posix
RI
14:34
Ruslan Ibragimov
Ну а glibc это что по твоему
14:39
Deleted Account
Posix разный бывает
14:39
Это же не только библиотека
RI
14:40
Ruslan Ibragimov
Это понятно
14:40
Просто с чем сталкивался, то и рассказал
14:50
Дядька какой-то сказал что писать тесты лучше
SZ
14:52
Sergey Zolotov
ну он всего лишь сказал что язык не должен думать за программиста)
14:58
Если вдруг кто-то не записался
NM
14:59
Nikolai Mitropolskii
Анкл Боб прогает на Котлине?
RI
15:00
Ruslan Ibragimov
Как минимум на вебинаре
NM
15:37
Nikolai Mitropolskii
Крутяк
SL
15:48
Sergey Lebedev
Админ, запинь новость, что бы не потерялась
Ruslan Ibragimov pinned this message
RI
15:50
Ruslan Ibragimov
In reply to this message
g
15:50
guga
ну можно было и без пуша, а то испугал меня.
15:51
тихий час же
RI
15:51
Ruslan Ibragimov
Сорри, не знал что он еще сообщение отправит
АЖ
15:57
Алексей Жингеровский
пацаны
15:57
если в котлине класс с primary конструктором, и пару полей с дефолтными значениями, как в java сделать норм апидля этого ?
15:58
что бы котлин добавил конструкторы сам
М
15:59
Михаил
Вроде только секондари конструкторы.
RI
16:08
Ruslan Ibragimov
Там аннотация есть, которая тебе конструкторов насоздает
16:08
Оно?
16:10
@JvmOverloads вроде
М
16:12
Михаил
она вроде только для методов с дефолтными параметрами работает. или я ошибаюсь?
IG
16:13
Ilya Gulya
А как же для nullable?
М
16:13
Михаил
?
IG
16:14
Ilya Gulya
Оверлоады для методов с nullable аргументами
RI
16:14
Ruslan Ibragimov
@java.lang.annotation.Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
16:15
class GetRequestBuilder<T> @JvmOverloads constructor(data: T, test: String = "")
М
16:15
Михаил
тогда вопрос. эта аннотация работает для праймари конструкторов?
16:15
спасибо)
RI
16:16
Ruslan Ibragimov
In reply to this message
Забей, джависты привыкли старадать
М
16:17
Михаил
+
g
16:17
guga
In reply to this message
👺 а это было обидно
RI
16:17
Ruslan Ibragimov
Правда же
16:18
Зачем портить красивый котлин код, ради тех, кто и такое схавает)
16:19
Т.к. тут много андроидщиков, вот новость: With Mockito 2.6, Mockito tests can now be run on any Android device or emulator. It is activated by including the mockito-android dependency. Mockito works the same when run on Android or on a developer machine. Future releases of mockito-android will be aligned with mockito-core.
АЖ
16:22
Алексей Жингеровский
In reply to this message
@JvmOverloads
на классы не аплаится
RI
16:22
Ruslan Ibragimov
На конструктор аплаится
16:22
Все правильно говоришь
АЖ
16:22
Алексей Жингеровский
а бля
16:24
class CCOConfig @JvmOverloads constructor()
RI
16:24
Ruslan Ibragimov
Ну так у тебя инспекция сработает что он нахер не нужен, но идея правильная
АЖ
16:24
Алексей Жингеровский
мне он нужен
16:24
чёт ступил
16:24
на методы развесил а на класс не вешается, от уже...
М
16:43
Михаил
может кто подскажет. запилил допустим либу на котлине в intelij. собрал в джарку. но когда подключил jar в студии нажимаю на ctrl+click, чтоб перейти k исходникам, то мне показывает декомпилированный класс файл, а не исходник
16:43
как правильно настроить проект, чтоб исходник показывался?
RI
16:53
Ruslan Ibragimov
когда джарку собираешь, нужно еще сорцы собрать
М
17:09
Михаил
то есть сорцы рядом с джаркой положить?
RI
17:10
Ruslan Ibragimov
Не уверен что идея поймет
17:10
Но там можно выбрать файл с сорцами вроде можно было
17:11
Или сделать install джарки в mavenLocal
17:11
Для gradle нужен maven плагин
AA
20:47
Anton Arhipov
какой же shitstorm дядя Боб поднял https://twitter.com/unclebobmartin/status/819242373377118208?ref_src=twsrc%5Etfw
NM
20:52
Nikolai Mitropolskii
Ну ему там всё правильно написали: types are tests!
22:34
Тут подкаст записывается
13 January 2017
NM
00:24
Nikolai Mitropolskii
То ли я туплю, то ли... Это нельзя никак записать короче:

annotations.find { it is Resource } as? Resource

?
RI
00:28
Ruslan Ibragimov
.map { it.annotationClass }
00:28
еще нужно
00:28
T::class.annotations - это холдеры
NM
00:30
Nikolai Mitropolskii
Не, в annotations уже что надо лежит, вопрос нет ли чего-то вроде скаловского collectFirst чтобы не писать два раза Resource
RI
00:40
Ruslan Ibragimov
            .filterIsInstance<Resource>()
.firstOrNull()
00:42
Вот так
NM
00:43
Nikolai Mitropolskii
Ну это лишний список создаст, не айс
RI
00:43
Ruslan Ibragimov
из одного элемента
00:44
на скорость не влияет)
00:44
(автомобильная шутка)
D
00:44
Discipuli
In reply to this message
Кстати, кто-то замечал, что студия не всегда корректно подменяет циклы на эекстеншэны Kotlin
00:44
?
NM
00:44
Nikolai Mitropolskii
In reply to this message
Ну да, ладно, и на этом спасибо.
RI
00:45
Ruslan Ibragimov
In reply to this message
Я думаю стоит писать в багтрекер
NM
00:46
Nikolai Mitropolskii
In reply to this message
Долго думал причем тут вижал студия)) тяжело быть не андройд)
Не, не замечал, очень редко пишу циклы)
D
00:46
Discipuli
In reply to this message
))))
RI
00:46
Ruslan Ibragimov
Вот тут багтрекер котлин плагина если что :) https://youtrack.jetbrains.com/issues
D
00:47
Discipuli
Спасибо)
RI
00:48
Ruslan Ibragimov
Talking Kotlin #1
NM
00:49
Nikolai Mitropolskii
Крутяк! Спасибо)
М
00:49
Михаил
ни у кого нету такого бага, что проект сконфигурирован под котлин, но каждый раз при запуске студии вылазит
00:50
?
D
00:50
Discipuli
Этот дифект не потрит жизнь вовсе
00:50
хотя есть
М
00:50
Михаил
Т_Т
00:52
причем я в слэке отписал по этому поводу. меня просто проигнорили. и судя по поискам в гугле этот баг у них уже больше года тянется
00:52
из версии в версию
D
00:52
Discipuli
Народ, как по правильному в Intellij называетс штука умной подстановки и замены блоков кода (если я верно выразился)?
RI
00:52
Ruslan Ibragimov
Live Templates
00:53
Если я правильно понял
D
00:53
Discipuli
Да, оно
00:53
Нет, не оно
00:53
(
М
00:54
Михаил
а какая задача?
D
00:54
Discipuli
В смысле?
00:55
Правильно озаглавить issue в баг трекере)
М
00:55
Михаил
О-о
00:55
типа multi select чтоль?
NM
00:56
Nikolai Mitropolskii
In reply to this message
А вот, кстатиговоря, нифига. ArrayList резервирут мест на десять элементов
ВБ
00:56
Виталий Бендик
In reply to this message
типа
sout <SPACE> -> System.out.println() 

?
М
00:56
Михаил
In reply to this message
если не нравятся помежуточные коллекции, то можно юзать сиквенсы
D
00:57
Discipuli
In reply to this message
Нет, типа у вас есть for().... а вам студия любезно подсказывает заменить его на map()
М
00:57
Михаил
In reply to this message
нов данном случае не надо так)
D
00:57
Discipuli
С Kotlin
NM
00:57
Nikolai Mitropolskii
In reply to this message
Да вообще ничего не хочу создавать) проще свой экстеншен метод написать... просто думаю вдруг я просто что-то не дочитал в доке
М
00:58
Михаил
In reply to this message
ну да. это не джава. руки более развязаны)
RI
00:59
Ruslan Ibragimov
In reply to this message
Inspections
D
01:00
Discipuli
In reply to this message
А вот теперь гугл говорит, что это оно, спасибо)
RI
01:02
Ruslan Ibragimov
From Slack
g
01:03
guga
Парни вы что аниме.3gp
RI
01:04
Ruslan Ibragimov
В твиттере была чуть ли не манга в котлиновском стиле)
01:04
(не уверен что правильно употребил манга, в общем аниме в трусиках)
g
01:09
guga
Да это я просто вспомнил видос начала 2000х
Alex Katsz invited Alex Katsz
pplcf invited pplcf
George invited George
p
09:21
pplcf
скажите, а в каком виде реализуется Local Functions?
09:21
во что оно превращается, если перевести такой код в яву?
Talgat Akunsartov invited Talgat Akunsartov
NM
10:06
Nikolai Mitropolskii
В отдельный класс превратится, только что проверил
Ivan Babanin invited Ivan Babanin
SZ
10:11
Sergey Zolotov
класс со статикой
p
10:12
pplcf
спасибо
ВГ
11:34
Влад Гаевский
In reply to this message
RI
11:35
Ruslan Ibragimov
Влад, не тормози ;)
11:35
Уже выше обсудили
ВГ
11:35
Влад Гаевский
а ну да
11:35
сори, я еще не выпил первую кружку кофе сегодня
АЖ
11:38
Алексей Жингеровский
Влад, боянишь дико
g
11:39
guga
новости пару дней, так сразу боян?
ВГ
11:44
Влад Гаевский
ну я просто увидел сейчас что ссылку кидали, обсуждения как такового не увидел
AA
11:47
Anton Arhipov
резонансную статьи не грех и 3 раза вкинуть
ВГ
11:48
Влад Гаевский
Спасибо, Антон)
AA
11:48
Anton Arhipov
АЖ
11:54
Алексей Жингеровский
In reply to this message
Времена-нравы. Это всё javascript повлиял так. На самом деле же добрая "штука" про боян
11:55
Короче, обсуждали в рабочем чатике статью... Почему то вышло мнение что Котлин и Свифт - bad langs.
11:55
Бля, как можно посыл такой получить от статьи.
11:55
Да статья - хороший наброс
11:55
но вывод не такой что языки плохие
AA
11:55
Anton Arhipov
статья просто про то, что пишите тесты, даже если у вас типы есть
АЖ
11:56
Алексей Жингеровский
ДА
RI
11:56
Ruslan Ibragimov
In reply to this message
АЖ
11:56
Алексей Жингеровский
люди хотят увидеть как бы накинуть на язык))
AA
11:56
Anton Arhipov
Вот пишем мы на Java. Вроде с типами. Случается баг. Спрашиваю - тесты на это место есть? нет. Ну а чо тогда удивляемся!?
RI
11:57
Ruslan Ibragimov
Вот пишем мы чисто на котлине падает Null Pointer Exception... Хотя нет, не падает
ВГ
11:58
Влад Гаевский
Ведь падает Kotlin Null Pointer Exception
RI
11:59
Ruslan Ibragimov
Верно, но он тоже не падает)
ВГ
11:59
Влад Гаевский
ой, ну рассказывай)
RI
11:59
Ruslan Ibragimov
Пока ты явно не захочешь
12:00
У тебя есть контракт к методам на уровне системы типов
AA
12:00
Anton Arhipov
NPE - всегда ошибка программиста. Если явно захотеть NPE - это значит явно захотеть баг
RI
12:01
Ruslan Ibragimov
In reply to this message
Да, только в Котлине явно видно где может упасть NPE, а в джаве он может упасть везде)
d
12:01
dima 💻
а почему в котлине он не может упасть везде?
AA
12:02
Anton Arhipov
Да - это та замечательная весчь которая есть в Котлине.
12:02
In reply to this message
потому что такой дизайн
RI
12:02
Ruslan Ibragimov
Просто язык божественный
d
12:02
dima 💻
допустим рандом ошибка,база там побилась, данные улетели
ВГ
12:02
Влад Гаевский
ну не надо говорить что прям не везде
12:02
есть всякие моменты типо lateinit
RI
12:02
Ruslan Ibragimov
ага и
!!
ВГ
12:03
Влад Гаевский
да
АЖ
12:03
Алексей Жингеровский
Легко может упасть на интеропе с java
ВГ
12:03
Влад Гаевский
и я не помню еще что там с платформенными типами
12:03
кидают ли они
RI
12:03
Ruslan Ibragimov
Я ж говорю, нужно захотеть словить)
12:03
In reply to this message
Я там вводную сделал - на чистом котлине
AA
12:03
Anton Arhipov
!! - это как раз про то, что let there be dragons, или “пускай здесь будет баг”
ВГ
12:03
Влад Гаевский
ну строго говоря когда ты пишешь lateinit ты можешь и не хотеть словить
12:03
но словить тем не менее можешь
RI
12:04
Ruslan Ibragimov
In reply to this message
ты допускаешь что тут может упасть
ВГ
12:04
Влад Гаевский
ну как бы и да
RI
12:04
Ruslan Ibragimov
просто не пиши lateinit, если можешь не писать
ВГ
12:04
Влад Гаевский
но и не совсем
АЖ
12:04
Алексей Жингеровский
Вообще, "язык не должен ограничивать программиста." Дядя Боб.
ВГ
12:04
Влад Гаевский
я к чему, !! это вот как Антон сказал - прямо напрашивание на баг
12:04
а вот lateinit вроде как не такой выразительный, и не так прямо декларирует что ты готов к npe
AA
12:04
Anton Arhipov
In reply to this message
не согласен с ним на все 100%
АЖ
12:05
Алексей Жингеровский
Да я тоже. Но теперь сложнее спорить когда тебе могут кинуть ссылку на авторитета))
AA
12:05
Anton Arhipov
почему то именно ограничивающие языки становятся популярными гораздо быстрее
12:05
VB, Java, Go…
АЖ
12:05
Алексей Жингеровский
Я считаю что язык должен максимально ограничивать. В разумных пределах. Люди глупы
12:06
технологии нет
ВГ
12:06
Влад Гаевский
по сравнению с теми же C\C++
RI
12:06
Ruslan Ibragimov
In reply to this message
Компилятор идеален, люди мудаки.
АЖ
12:06
Алексей Жингеровский
ок, компилятор)
AA
12:06
Anton Arhipov
компилятор - д’Артаньян!
ВГ
12:07
Влад Гаевский
ну че вы ну
12:07
нормально же общались
D
13:53
Discipuli
In reply to this message
Если так считать, то они и будут глупы
NM
15:58
Nikolai Mitropolskii
По мне так всё что можно переложить на машину - нужно переложить на машину
D
15:59
Discipuli
In reply to this message
Ну дак это уже другой разговор.
I
16:00
Ivan
In reply to this message
Автокомплит
D
16:01
Discipuli
Просто нельзя разсуждать крайностями.
NM
16:01
Nikolai Mitropolskii
In reply to this message
Ну компайл-там нуллчек - это не крайность, а удобная фича)
D
16:04
Discipuli
In reply to this message
Дак я и не спорил об этом. Сам люблю такие фичи) как и понимаю, что для некоторых задач строгая типизация бывает избиточной) Т.е. каждой задаче - свое решение и тут спор не имеет смысла.... Не стоит сорить в конфе не по теме)
NM
16:05
Nikolai Mitropolskii
Ну так Боб Мартин первый начал))
АЖ
16:06
Алексей Жингеровский
Ну
RI
16:07
Ruslan Ibragimov
In reply to this message
Так строгая типизация и в динамическом груви)
16:07
Ты наверно про статическую
RM
16:09
Ruslan Mikhalev
In reply to this message
Так статическая и в груви =)
RI
16:10
Ruslan Ibragimov
Речь про то что это ортогональные понятия
16:12
Я так и не понял когда я хочу динамическую типизацию
D
16:12
Discipuli
In reply to this message
В груви же и статическая и динамическая)
RM
16:12
Ruslan Mikhalev
In reply to this message
я о том же
RI
16:16
Ruslan Ibragimov
Не нужны же языки с динамической типизацией
SZ
16:16
Sergey Zolotov
🐓🐓
D
16:17
Discipuli
Но причем тут groovy, я высказал мнение о критичность мышления при высказывания "что языки должны ограничивать", ведь есть язык Ada, Fortran и они были популярны, но чет сейчас мы на них не пишем)
16:17
Я не фанат JS, но даже он имеет место быть
RI
16:19
Ruslan Ibragimov
In reply to this message
Я писал много на js и ts
16:19
И могу сказать что на ts намного удобнее писать
16:19
И можно типы прописать для любой библиотеки
16:19
И при этом IDE помогает писать код
D
16:20
Discipuli
А я писал на Python, в нем динамическая типизация и это очень удобно и IDE так же помогает
RM
16:20
Ruslan Mikhalev
In reply to this message
Кстати, тоже спорное высказывание
16:21
Есть Groovy Truth
RI
16:21
Ruslan Ibragimov
У "строгой" типизации нету определения, так что да)
16:22
In reply to this message
не знаю как в питоне, но в js идея практически ничего не понимает про код
D
16:22
Discipuli
In reply to this message
Не так написал, согласен с уточнением
SZ
16:22
Sergey Zolotov
как человек пишущий на php, скажу - динамическая типизация это боль
D
16:24
Discipuli
А на Python занимаются и машинным обучением. Как сказал мне один человек, работающий в этой области: "мы не пишем на java, так как бы писали все раз в 10 так медленнее"
RI
16:25
Ruslan Ibragimov
In reply to this message
Ну джава плохой язык потому что он статически типизированный, и при этом без тайп инференса
SZ
16:25
Sergey Zolotov
статическая типизация и вывод типов 👍
RM
16:25
Ruslan Mikhalev
In reply to this message
Node js юзают и не жалуются. Я до сих пор удивляюсь, что он так взлетел
SZ
16:26
Sergey Zolotov
In reply to this message
код читать сложно, писать еще сложнее(ide работает против тебя)..
D
16:26
Discipuli
In reply to this message
Ну если ты хочешь запилить небольшой проектик, то почему бы и нет)
RM
16:26
Ruslan Mikhalev
У нас все фронты на ноде
16:26
Правда идут потом через микросервисы ))
RI
16:26
Ruslan Ibragimov
In reply to this message
Так можно взять микро фреймворк на джавке и будет проще и быстрее)
g
16:26
guga
Кстати, вот что ваш дядько боб думает о том, что бы проверку сделать на типах и в компаил тайме
SZ
16:27
Sergey Zolotov
In reply to this message
на котлине ведь
g
16:27
guga
где-то было задание сделать ХО так, что бы она гарантировано работала после компайла
RI
16:27
Ruslan Ibragimov
In reply to this message
Код на котлине, а взять и спарк можно
16:28
Я к тому что любую джавовую либу
АЖ
16:28
Алексей Жингеровский
помоему нода по больше части как бекенд для фронта только
RI
16:29
Ruslan Ibragimov
Когда нужно реакт отрендерить 👍
SZ
16:30
Sergey Zolotov
писать можно на чем угодно, и оно будет работать. вопрос в удобстве
на ноде тебе приходит options обьект, и скажи, какие поля там могли передать не запуская дебагер? столько багов из-за этого..
RI
16:42
Ruslan Ibragimov
kotlin.link ts -> kt
16:51
Рыженков посоветовал убрать плюсы, так что теперь тут и плюсов нету)
М
17:15
Михаил
втф?
14 January 2017
RI
18:34
Ruslan Ibragimov
> You cannot create an instance of [by.bkug.akka.extensions.DebugFileKt$generated_for_debugger_kotlin_rulezzzz$1] explicitly using the constructor (new). You have to use one of the 'actorOf' factory methods to create a new actor. See the documentation.
18:34
> generated_for_debugger_kotlin_rulezzzz
18:35
АЖ
18:36
Алексей Жингеровский
йумор
Arseni Nikalayeu invited Arseni Nikalayeu
AK
23:31
Alex Katsz
Давайте я немного понабрасываю вам в чат котлина
23:31
1 shl 18 + 10 это сколько?
23:31
2^18?
AK
23:32
Alex Katsz
N
Nariman 14.01.2017 23:26:00
23:32
AK
Alex Katsz 14.01.2017 23:26:34
Runtime.getRuntime().totalMemory(); вызови до этого
23:32
Runtime.getRuntime().freeMemory(); офк
23:32
N
Nariman 14.01.2017 23:27:41
Solution running... 94447336
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at FKt.solve(F.kt:263)
at FKt.access$solve(F.kt:1)
at FKt$main$1.invoke(F.kt:217)
at FKt$main$1.invoke(F.kt)
at FKt.run(F.kt:195)
at FKt.main(F.kt:217)
23:32
94447336
23:32
мда
23:32
написал просто константу в миллион
23:32
и оно сработало
23:32
я чего-то не знаю видимо
AK
23:33
Alex Katsz
In reply to this message
байт, если что
23:35
Так вот. Если этот сахарок такой классный, почему а) выпилили << б) зафакапили привычный порядок операций
RI
23:36
Ruslan Ibragimov
За троллинг можно в бан улететь
d
23:36
dima 💻
In reply to this message
ты суровый очень!
AK
23:37
Alex Katsz
@HeapyHop сижу в прожвм и наблюдаю Ваши срачи чаще, чем мои сообщения вообще :)
23:37
Набросов не делаю, вопрос адекватный
AK
23:40
Alex Katsz
RI
23:40
Ruslan Ibragimov
infix function
АЖ
23:42
Алексей Жингеровский
In reply to this message
в projvm можно, а тут нет?
RI
23:42
Ruslan Ibragimov
In reply to this message
Ага
АЖ
23:43
Алексей Жингеровский
AK
23:43
Alex Katsz
In reply to this message
ок
RI
23:46
Ruslan Ibragimov
Теперь вопрос про "привычнее" должен отпасть
d
23:46
dima 💻
In reply to this message
ага, ты уже улетал)
RI
23:47
Ruslan Ibragimov
Если бы в том чатике банили за троллинг, ты должен был бы первым себя забанить ;)
d
23:47
dima 💻
нет, первым был бы ты
23:47
вместе с Барухом
15 January 2017
05:47
Deleted Account
нет
05:47
первый я
Andrey <★ /> invited Andrey <★ />
A<
16:20
Andrey <★ />
Всем джава, почаны)
ST
16:21
Sasha Tainyuk
In reply to this message
ага, и тебе привет.)
A<
16:21
Andrey <★ />
О, привет)
SZ
16:22
Sergey Zolotov
захотелось немного котлина?)
A<
16:22
Andrey <★ />
А чего не многочлен на аве?
16:22
In reply to this message
Интересно что у вас и как. А то спаривал котлин с гредлом пол дня. Не справился(
IR
16:23
Igor Ramazanov
на офф сайте же все написано
16:23
а, или ты хотел скрипты для гредла на котлине написать?
Aleksey Fomkin invited Aleksey Fomkin
AF
16:23
Aleksey Fomkin
Всем привет! Это чат о языке Scala?
IR
16:24
Igor Ramazanov
:/
Cap Dev invited Cap Dev
A<
16:24
Andrey <★ />
In reply to this message
Скрипты для гредла на котлине. Груви тормоз)
16:24
Блин, здесь Барух)
SZ
16:24
Sergey Zolotov
так оно еще в бете
IR
16:24
Igor Ramazanov
по-моему уже нет, кажется
CD
16:25
Cap Dev
Знакомые лицца)
ST
16:26
Sasha Tainyuk
упс
A<
16:26
Andrey <★ />
In reply to this message
Фуф, а то я завис)
ST
16:27
Sasha Tainyuk
In reply to this message
да он настолько популярный, что приходиться гуглить)
A<
16:27
Andrey <★ />
In reply to this message
Если в гугле он есть, что уже неплохо. Я уж подумал, что это на мою работу намёк.
RI
16:28
Ruslan Ibragimov
In reply to this message
В Альфе
SZ
16:28
Sergey Zolotov
In reply to this message
а ну возможно. там 0.5 версия вроде щас
RI
16:28
Ruslan Ibragimov
Пример можно посмотреть в awesome-kotlin/generator
ST
16:29
Sasha Tainyuk
In reply to this message
http://beust.com/kobalt/home/index.html вот, нагуглил.)
RI
16:29
Ruslan Ibragimov
Или в соседнем репозитории kotlin-akka)
Андрей invited Андрей
RI
18:27
Ruslan Ibragimov
Если кому интересно, фолоуап от дяди про типы и тесты http://blog.cleancoder.com/uncle-bob/2017/01/13/TypesAndTests.html
AA
18:30
Anton Arhipov
“I consider the static typing of Swift and Kotlin to have swung too far in the statically type-checked direction” зря он так себе могилу роет
RI
18:32
Ruslan Ibragimov
А он со скалой дружит? Очень интересно было бы послушать как он закопал бы зависимые типы)
AA
18:35
Anton Arhipov
In reply to this message
после его статьи, мне начинает казаться что он скалу даже не смотрел
18:35
а может и не слышал о ней :)))
RI
18:38
Ruslan Ibragimov
> Do you want to have to change every line of code every time anything at all changes?

Конечно нет Дядя, мы хотим ловить баги на проде)
18:39
Это Егор стайл, привел бы что-ли пример из жизни
М
18:46
Михаил
In reply to this message
разве в продуктах от джет бреин нету Refactor... которая в том числе может сразу везде тип менять?
RI
18:47
Ruslan Ibragimov
Конечно есть
Nikita Sokoloff ✌️ invited Nikita Sokoloff ✌️
RM
18:51
Ruslan Mikhalev
Может он в виме сидит
RI
18:51
Ruslan Ibragimov
В емаксе
RM
18:51
Ruslan Mikhalev
И багов у него нет
RI
18:52
Ruslan Ibragimov
Он же на лиспе пишет
18:52
In reply to this message
Когда я не пишу код, у меня тоже багов нет 😄
Виталий Бендик invited Fedor Sokovikov
RM
21:20
Ruslan Mikhalev
In reply to this message
Чем мерил? =)
21:20
Линейкой?
RI
21:21
Ruslan Ibragimov
да не, просто gradle инициализируется несколько секунд.
21:21
Правда тут kotlin script не спасет
RM
21:21
Ruslan Mikhalev
Ога
RI
21:21
Ruslan Ibragimov
потому что кор все равно на method_missing написан
21:22
и как я вижу парни страдают от того что груви нагенерил
RM
21:22
Ruslan Mikhalev
Самое смешное, что ну большинства даже gradle daemon не стоит
21:22
А жаловаться все горазды )
RI
21:22
Ruslan Ibragimov
Потому что еще пол года назад он тек
21:22
Да и до сих пор наверняка течет на некоторых проектах
21:23
Есть мавен и есть гредл. И оба говно)
RM
21:24
Ruslan Mikhalev
ант!
RI
21:24
Ruslan Ibragimov
make
21:24
bazel
g
21:31
guga
у котлина же тоже что-то есть, kobolt?
RI
21:31
Ruslan Ibragimov
kobalt, да
21:32
очень приятная, но по понятным причинам его никто не потащит в проект
21:32
хотя писал Цедрик, автор TestNG
SZ
21:33
Sergey Zolotov
есть же gradle и kotlin script
21:33
нах тот kobalt)
RM
22:33
Ruslan Mikhalev
Чет посмотрел на kotlin в gradle
22:33
А не потонет ли?
М
22:34
Михаил
время покажет.
22:34
вообще котлин че то решили сразу в куче направлений развивать
22:34
и возникает такой же вопрос ко всему котлину
RM
22:35
Ruslan Mikhalev
По сути в плагинах это костыли для поддержки Groovy Runtime
22:35
вроде delegateClosureOf методов
22:35
Выглядит ужасно
RI
22:38
Ruslan Ibragimov
In reply to this message
это фиксится, ибо наследие груви
RM
22:38
Ruslan Mikhalev
А как ты пофиксишь это?
22:38
Это все плагины же фиксить надо, не?
RI
22:38
Ruslan Ibragimov
но плюсы такие, что можно потерпеть ибо наконец-то писать скрипты можно без боли
RM
22:39
Ruslan Mikhalev
Я и так их писал без боли
22:39
А где там боль?=)
RI
22:39
Ruslan Ibragimov
Да везде, файл на половину желтый
22:39
нихера не автодополняется
RM
22:40
Ruslan Mikhalev
А, это
22:40
Ну это в огород JetBrains
RI
22:40
Ruslan Ibragimov
ну-ну
RM
22:41
Ruslan Mikhalev
Это без плагинов
RI
22:41
Ruslan Ibragimov
два плагина тамщета
22:41
configure<ApplicationPluginConvention> {
applicationName = "kotbot"
mainClassName = "link.kotlin.scripts.ApplicationKt"
}

configure<ShadowJar>("shadowJar") {
mergeServiceFiles()
}
22:41
и все автодполняется
22:42
причем shadowJar не поддерживает котлин скрипт, поэтому кривовато
22:42
а вот application - поддерживает
22:42
Когда выйдет 1.0 не будет веских причин использовать груви тут
RM
22:42
Ruslan Mikhalev
Ну они на котлин, судя по всему, как минимум написаны
22:42
Да не в этом дело
RI
22:42
Ruslan Ibragimov
> Ну они на котлин, судя по всему, как минимум написаны
22:43
нет, на джаве или груви
RM
22:43
Ruslan Mikhalev
Дело в том что замыкание в лямбду ты никак не превраьтишь
RI
22:43
Ruslan Ibragimov
In reply to this message
Пример покажи
22:43
потому что я думаю именно это я сделал в shadowJar
22:44
т.е. было

shadowJar {
mergeServiceFiles()
}
22:44
А стало

configure<ShadowJar>("shadowJar") {
mergeServiceFiles()
}
RM
22:45
Ruslan Mikhalev
shadorJar - это же таска?
RI
22:45
Ruslan Ibragimov
Без действий со стороны плагина
22:45
In reply to this message
да
RM
22:45
Ruslan Mikhalev
если бы у тебя плагин внутри принимал замыкание
22:45
то было бы другое дело
22:45
сейчас нарою что нибудь
RI
22:45
Ruslan Ibragimov
окей, давай на примере, будет предметно
22:46
метод publish в плагине у публикации в артифактори принимает колжур
RI
22:48
Ruslan Ibragimov
Пишется экстеншен с таким же именем который принимает обычную лямбу и под низом превращает в то что нужно
22:48
т.е. да, тут нужно подпилить.
RM
22:48
Ruslan Mikhalev
Так а кто это делать будет?
RI
22:49
Ruslan Ibragimov
сообщество может делать свои обертки вокруг плагинов
22:49
в gradle могут сказать периписать
22:49
Они и так кор плагины на джаву переписали
RM
22:49
Ruslan Mikhalev
Плагинов то видимо невидимо
22:50
Перепишут опять самые используемые
RI
22:50
Ruslan Ibragimov
In reply to this message
из которых 30-40 популярных, остальное подтянется
RM
22:50
Ruslan Mikhalev
А большинство положат болт, потому что пишут на груви )
22:50
и никакой котлин им не нужен )
RI
22:51
Ruslan Ibragimov
Если бы сам gradle не форсил котлин, то так и было бы)
RM
22:51
Ruslan Mikhalev
Короче не понятно все, как по мне
22:51
Чем эта история кончится
RI
22:51
Ruslan Ibragimov
Я уже все новые проекты стартую на kts
22:51
И не знаю горя
g
22:52
guga
In reply to this message
а сколько людей то в твоей команде?
RI
22:52
Ruslan Ibragimov
Не все гладко, но я понимаю что альфа, и можно потерпеть)
22:52
In reply to this message
На работу альфо версии не тащу
AA
22:53
Anton Arhipov
In reply to this message
А чо, котлин уже по умолчанию в гредле?
RI
22:53
Ruslan Ibragimov
In reply to this message
Ну по умолчанию можешь на нем писать
22:54
только в settings скажи что у тебя котлин
AA
22:54
Anton Arhipov
Думаю про «форсить» пока ещё рановато.
22:54
In reply to this message
Ну это не по умолчанию тогда
RI
22:54
Ruslan Ibragimov
Так нету умолчания)
22:54
Хотя есть
22:54
gradle init
22:54
А так разницы никакой
AA
22:55
Anton Arhipov
По умолчанию таки груви
22:56
Если ничего не укажешь - будет груви
RI
22:56
Ruslan Ibragimov
ну там файлы отличаются по экстеншену пока
22:56
типо build.gradle
22:57
build.gradle.kts
22:57
Если бы был один файл, то да, согласен
22:57
А так, на чем будешь писать то и будет
AA
22:58
Anton Arhipov
А, то есть от расширения он сам решает что используется? Или если kts, то в сеттингах надо таки указать чтото?
RI
22:58
Ruslan Ibragimov
In reply to this message
Насколько я понял - пока так, потому что альфа
22:58
Потом они скорее уберут дабл экстеншен
22:59
В целом там пока нету тактики)
AA
23:01
Anton Arhipov
Там лучшего варианта как бы нет. Все равно нужен какой то маркер, чтобы указать, на чем скрипт написан
RI
23:02
Ruslan Ibragimov
почему, просто делаешь по-умолчанию котлин с gradle X, а для груви нужно указать ключик)
RM
23:04
Ruslan Mikhalev
Самый оптимальный вариант прямо в файле это разруливать
RI
23:04
Ruslan Ibragimov
нету самого оптимального
23:05
потому что в файле если определять тебе нужно и котлин и груви запустить, и посмотреть кто не упадет при разборе файла
RM
23:06
Ruslan Mikhalev
Тебе не надо парсить весь файл для этого
23:06
Возьми первую строчку
23:06
а-ля //#/usr/bin/env groovy
RI
23:07
Ruslan Ibragimov
ну значит людям придется писать маркер
RM
23:07
Ruslan Mikhalev
Просто странно это хранить где то в другом месте
RI
23:07
Ruslan Ibragimov
что тоже не оптимально)
RM
23:07
Ruslan Mikhalev
Кинул другому человеку скрипт - у него уже не взлетает
23:08
Надо уточнять, что где то еще надо будет ему что то прописать
23:08
Проходили же уже это
16 January 2017
М
21:59
Михаил
В котлине есть String.valueOf() или доллар фореве?
RI
22:00
Ruslan Ibragimov
toString?
RM
22:02
Ruslan Mikhalev
А куда ему деться?
М
22:02
Михаил
ToString работает как-то иначе чем в джаве?
RI
22:03
Ruslan Ibragimov
Да
М
22:03
Михаил
Кул. Насколько я понял это как-то захардкожено в компилятор?
RI
22:03
Ruslan Ibragimov
Ага
М
22:04
Михаил
Ибо у чисел я не нашел переопределенного ту стринг
abc invited abc
RM
22:47
Ruslan Mikhalev
Захардкожено в компилятор?
22:47
Разве это не экстеншн?
22:48
Здравый смысл подсказывает, что должен быть экстеншн
22:48
А значит котлин рантайм, а не компилятор
A
23:01
Artyom
в байткоде же элементарно посмотреть – что именно компилируется
М
23:03
Михаил
INVOKESTATIC java/lang/String.valueOf (I)Ljava/lang/String;
23:03
:)
23:03
осталось понять есть ли экстеншн
RI
23:03
Ruslan Ibragimov
In reply to this message
Экстеншен
23:04
Но особеный)
М
23:06
Михаил
In reply to this message
то есть бесмысленно искать функцию в std-lib?
RI
23:06
Ruslan Ibragimov
Не уверен, я по памяти говорю
RM
23:17
Ruslan Mikhalev
In reply to this message
Я бы так и сделал, если бы не был в магазине. Поэтому просто отписался в чат
М
23:18
Михаил
In reply to this message
ну в стд-либ я не нашел ту стринг
23:19
предполагаю пока, что на уровне компиляции уже ту стринг ковертируется
23:47
?
17 January 2017
RM
00:26
Ruslan Mikhalev
Оно
00:27
Раскурить пытаюсь, как это работает
00:27
Но это компилятор, да
RM
00:58
Ruslan Mikhalev
Кому там интересно было?
М
00:58
Михаил
мне
М
01:00
Михаил
тут без стопки не разберешься
RM
01:01
Ruslan Mikhalev
Да там ничего сложного
01:02
intrinsics методы, используются при компиляции, когда обходятся экспрешены
01:02
Никак туда не подлезть, так что для простого пользователя безполезно
М
01:03
Михаил
ну больше интересно для каких типов там переписан toString
RM
01:04
Ruslan Mikhalev
27 BOOLEAN("Boolean"),
28 CHAR("Char"),
29 BYTE("Byte"),
30 SHORT("Short"),
31 INT("Int"),
32 FLOAT("Float"),
33 LONG("Long"),
34 DOUBLE("Double"),
М
01:05
Михаил
спасибо)
Artyom Selyutin invited Artyom Selyutin
SZ
14:06
Sergey Zolotov
http://trickyandroid.com/using-mockito-with-kotlin/ чуваки из эпла пишут о котлине
RI
14:07
Ruslan Ibragimov
Чувак, Pavel Dudka: Android Software Engineer @ Apple
14:07
Apple и Android это какой-то оксюморон)
SZ
14:07
Sergey Zolotov
да ладно, они ж там портировали какой-то софт на андроид
RI
14:08
Ruslan Ibragimov
Ну я знаю что им приходится писать под андроид, как и MS. Но тем не менее)
SL
14:13
Sergey Lebedev
ну в Германии много позиций где требуют знание обеих платформ
MR
14:23
Max Rovkin
под андроид они минимум пиля apple music
ST
15:39
Sasha Tainyuk
In reply to this message
для миграции вроде еще есть.
18 January 2017
Kirill Lyubimov invited Kirill Lyubimov
Ivan Fedyai invited Ivan Fedyai
RI
18:39
Ruslan Ibragimov
Дядя разочаровывает :(
АД
18:39
Алина Долгих
чет какт да
NK
18:45
Nikita Kononenko
ойё
18:45
а уже идет чтоли?
RI
18:46
Ruslan Ibragimov
Уже закончилось почти
18:46
Ты ничего не пропустил думаю
18:46
Если смотрел хоть какую-то демку, про решение hello world с TDD
NK
18:47
Nikita Kononenko
а, то есть там ничего прям интересного не было?
RI
18:47
Ruslan Ibragimov
вообще
18:47
кроме того что он подключил jar ручками с папки
g
18:47
guga
ну на котлин то хотя бы накинул?
RI
18:47
Ruslan Ibragimov
в шоке что так кто-то делает, даже для демо
18:47
In reply to this message
конечно
18:48
"чет у вас тут всё immutable"
18:48
"как это мне аргумент функции сделать мутабельным?"
18:48
А еще у него джава дрявая
AA
18:58
Anton Arhipov
In reply to this message
18:58
In reply to this message
чтоа!?
RI
19:00
Ruslan Ibragimov
Бреслав!!!
19:00
Бреслав в QA
AA
19:01
Anton Arhipov
ну всё. вечер удался. зачем делали вебинар про TDD? можно было про Kotlin делать
19:01
тем более с Дядей…
RI
19:02
Ruslan Ibragimov
Ну он с Дядей спорит)
19:04
Я уже собрался выключать, а тут такое
19:04
За микросервисы пошел разговор
19:05
Типо вот почему всем нравятся микросервисы, потому что общение между ними динамическое, т.е. у вас там стринга и нету компилятора который проверит типы
19:08
Короче обсуждают наброс) The End
NK
19:08
Nikita Kononenko
обсудили ага
AA
19:11
Anton Arhipov
meh
М
20:33
Михаил
In reply to this message
понимаю что глупый вопрос, но все же) как-то можно? мб куда-нить var приписать? или только занести аргумент в новую var переменную?
АЖ
21:46
Алексей Жингеровский
бля, а где посмотреть теперь?
RI
21:47
Ruslan Ibragimov
На youtube выкинут через недельку, обычно так
АЖ
21:47
Алексей Жингеровский
In reply to this message
тебе это не надо
21:49
In reply to this message
"Все аргументы в Kotlin имутабельны" Быт 1:24-31
RI
21:49
Ruslan Ibragimov
Не-не, мы не секта
21:49
Просто никаких мутабельных аргументов)
М
21:49
Михаил
In reply to this message
скорее это никому не надо
АЖ
21:50
Алексей Жингеровский
"Kotlin – это не религия" Keep 2:13-14
RI
21:50
Ruslan Ibragimov
АЖ
21:51
Алексей Жингеровский
У Баруха стянул картинку?
RI
21:51
Ruslan Ibragimov
(еще один репост картинки)
19 January 2017
Арсений Сафин invited Арсений Сафин
Лёша Лазарев invited Лёша Лазарев
Loo Maclin invited Loo Maclin
SZ
20:31
Sergey Zolotov
походу аж в марте релиз будет
Vitalii Shkurenko invited Vitalii Shkurenko
20 January 2017
Ruslan Ibragimov pinned this message
Ivan Zolotarev invited Ivan Zolotarev
Толян Корнильцев invited Толян Корнильцев
Pavel Vasilev invited Pavel Vasilev
SZ
12:05
Sergey Zolotov
я вот одно не пойму. зачем начали делать kotlin.js? он же обречен на провал
М
12:06
Михаил
In reply to this message
Откуда инфа, что обречен?)
SZ
12:07
Sergey Zolotov
чисто мое мнение. есть же typescript, flow
12:07
scala.js сильно взлетела?
12:07
или dart?
М
12:10
Михаил
Ну имху найдется своя аудитория
RI
12:14
Ruslan Ibragimov
In reply to this message
А чем тайпскрипт принципиально отличается от Котлин.жс?
SZ
12:15
Sergey Zolotov
In reply to this message
а от dart?
12:15
как минимум тем что ts протащили в ангуляры по-дефолту
RI
12:15
Ruslan Ibragimov
Дарт ужасен по синтаксису, почти джава
SZ
12:15
Sergey Zolotov
так бы его юзали только в скромных уголках с дотнетом на бекенде
RI
12:15
Ruslan Ibragimov
Не, то что протащили в ангуляр - я рад)
12:16
In reply to this message
Так он был бы уделом больших команд, где важна поддерживаемость)
12:16
Ну так это, чем принципиально TS лучше Котлин?)
g
12:17
guga
А какая разница, взлетит или нет, я практически уверен, что кто-то напилил этот компилятор как 20% проект
12:17
может кому-то пригодится
SZ
12:17
Sergey Zolotov
у TS есть популярность и довольно широкая аудитория, смысл им даже смотреть на котлин.жс?
RI
12:18
Ruslan Ibragimov
In reply to this message
Ну завтра Kotlin захватит JVM и у него будет сравнимая аудитория
12:18
Тогда что
IG
12:18
Ilya Gulya
То, что TS юзают не ребята, которые пишут на JVM
12:18
в большинстве своём
RI
12:19
Ruslan Ibragimov
Ну ясно, т.е. мнения такие:
1. Его хайпят, втаскивают в популярные проекты
2. Он предназначен для JSеров
12:21
От себя могу добавить еще:
1. Любой JS код - валидный TS код -> Как Groovy для Java, только наоборот в плане типов)
2. Очень много крутых фишек в языке, типы. После JS очень хорошо было на нем писать
12:22
Дарт я вообще не вижу смысла рассматривать) Он сбоку, он плохо интеропится с JS, у него синтаксис как у джавы
g
12:22
guga
In reply to this message
и его писал гугл
12:22
RI
12:23
Ruslan Ibragimov
Даже гугл не может выдать говно за конфетку
12:23
Хотя с Go получилось 😁
12:25
In reply to this message
Я думаю что нужно два-три фактора чтобы взлетело:
1. Kotlin (JVM) должен стать популярным, мейнстримовым
2. Должны появится библиотеки, фреймворки
3. Тулинг - ака нативный webpack например
12:27
Позитивный момент: подогретые TypeScript'ом разработчики с удовольствием перейдут на котлин, если там будут любимые либы и тулинг)
12:27
TypeScript хорош, но на Котлине намного приятнее писать
АЖ
12:35
Алексей Жингеровский
Ну например:
1. же тема такая что домен легко можно было перенести между фронтом и беком. модели, обработка какая то. Врядли это сработает, но а вдруг.
2. Будет интересный интероп с браузером - будем бомба. Но это есл и будет - то будет не скоро.
3. Вот пример clojure/clojurescript – единая среда единый язык. единые либы. Крутой js интероп и божественные тулинг. Ну вот они и на коне с одним языком на бекенде и фронте
RI
12:36
Ruslan Ibragimov
Вот они и на коне, точне он на коне, он - Тонский)
АЖ
12:36
Алексей Жингеровский
хыхы)
12:36
не Тонским едины
RI
12:37
Ruslan Ibragimov
О clojurescript я слышу только от него)
АЖ
12:37
Алексей Жингеровский
Ну т.е. нужен хоришй тулинг и инетроп – тогда можно что то говорить
RI
12:38
Ruslan Ibragimov
интегроп есть, модули есть. можно писать
АЖ
12:38
Алексей Жингеровский
Кстати, не поленись глянь https://www.youtube.com/watch?v=gsffg5xxFQI
12:38
Очень задорный рассказ
12:38
Как минимум спикеры ооочень хороши
RI
12:39
Ruslan Ibragimov
Я скорее всего не увижу там ничего нового)
АЖ
12:39
Алексей Жингеровский
и хорошо показывает где clojurescript уже и куда котину надо
RI
12:39
Ruslan Ibragimov
Кроме скобочек
АЖ
12:41
Алексей Жингеровский
Ну это ответ на вопрос зачем нужен котлинджс
12:41
точнее чем он может стать
SZ
12:42
Sergey Zolotov
ну возможно
RI
12:45
Ruslan Ibragimov
In reply to this message
При этом kotlinx.html больше похож на привычные фронтендщику темплейты, чем то что в кложе.
При этом код на котлине похож на TypeScript, что не скажешь о кложе)
12:47
Из плюсов еще: для джавистов\котлинеров, куда привычнее ставить джаву, а не node.js чтобы делать Universal Apps, с Котлином это можно будет делать
RM
12:50
Ruslan Mikhalev
In reply to this message
+
13:25
Deleted Account
In reply to this message
Подкаст последний скалалаз послушай
RI
13:27
Ruslan Ibragimov
А что там говорили?
13:28
Deleted Account
Про переход на го
AA
13:57
Anton Arhipov
In reply to this message
АЖ
14:02
Алексей Жингеровский
In reply to this message
Тут вот что я думаю.
Clojure выбирают те кто полностью отдаёт себе отчёт что делает и зачем. Полный стек на кложе вполне себе. Такие компании есть и такие люди есть.
14:02
In reply to this message
А вот фронтендеры врядли будут писать на котлине, как и бекендеры врядли будут писать фронт на котлине
RM
14:03
Ruslan Mikhalev
Я бы попробовал
14:03
Пописать фрон на котлине
АЖ
14:04
Алексей Жингеровский
Вопрос зачем всё же не в том что там кто будет писать, я бы не так ставил. Тут скорее дело в среде. Взял бекенд любимый язык - запустил на nodejs энв. Вроде бы хорошо. Надо логику отдать в браузер – взял бекендер любимый язык - отдал js
14:04
Но это всё не серьёзно и не будет работать то
14:05
Опять повторюсь – будет тулинг и фуллстек на котлине с js инетропом - ну тогда _может_ быть...
14:06
А что сами JB говорят насчёт "ЗАЧЕМ" кроме того что так у всех есть и у нас тоже?
SZ
14:06
Sergey Zolotov
говорят "а почему бы и нет?"
RI
14:07
Ruslan Ibragimov
In reply to this message
бэкенд, нодджс)
АЖ
14:07
Алексей Жингеровский
я тоже не знаю зачем но говорят нравится некоторым
RI
14:08
Ruslan Ibragimov
Ну всмысле, kotlin -> js -> nodejs
14:08
Адовая какая-то связка
SZ
14:08
Sergey Zolotov
это если взападло jvm юзать?
RI
14:08
Ruslan Ibragimov
У нас же есть крутые серваки, которы намного быстрее ноды, которые удобно дебажить)
АЖ
14:08
Алексей Жингеровский
ну я честно пытаюсь придумать зачем)
SZ
14:09
Sergey Zolotov
а нода вообще на 1 поток работает 😕
RI
14:09
Ruslan Ibragimov
In reply to this message
ну как минимум это наконец-то приятный язык (мое имхо) для фронта
14:10
для тех кто устал от джс, тс и т.д.
14:10
а дальше нужно: написать фреймворк который будет все делать. сделать порт реакта и юниверсал рендеринг
АЖ
14:13
Алексей Жингеровский
ну вот имхо твоё да.
14:13
Они ж живут с диким js
14:13
и до сих пор колются
14:13
но продолжают
14:13
есть ts/dart
RI
14:13
Ruslan Ibragimov
ну вот я кложу бы со скалой не брал, дарт в топку, флоу - полумера, тайпскрипт - хорошо, да не очень
АЖ
14:14
Алексей Жингеровский
я не про кложу и скалку даже
RI
14:14
Ruslan Ibragimov
TS - очень-очень, но там не хватает фич 10 из котлина)
АЖ
14:14
Алексей Жингеровский
10 фич из котлина?
SZ
14:15
Sergey Zolotov
In reply to this message
правильно говорить "10 фич из скалы" ведь 😃
АЖ
14:15
Алексей Жингеровский
14:15
Deleted Account
In reply to this message
Почему скалу бы не брал?
АЖ
14:16
Алексей Жингеровский
скалу берут ещё меньше чем кложу, потому что зачем?
RI
14:16
Ruslan Ibragimov
Ну там data классы, named аргументы, и т.д.
14:16
Deleted Account
На самом деле , какие преимущества даст Котлин.жс для джава разработчика
АЖ
14:16
Алексей Жингеровский
я выше пытался скзать
14:17
Deleted Account
Ярковыраженных фичей не будет
RI
14:18
Ruslan Ibragimov
1. Удобный язык
2. Шаринг кодовой базы
SZ
14:18
Sergey Zolotov
сложно представить когда нужен шаринг кодовой базы между фронтом и бекендом
RI
14:18
Ruslan Ibragimov
Universal Apps
М
14:19
Михаил
а рынку это нужно?
14:19
куда не посмотришь всем нужны js\php
14:19
для фронта
RI
14:20
Ruslan Ibragimov
ну ангулярщики перешли же на TS
АЖ
14:20
Алексей Жингеровский
А почему они должны на котлин перейти ?
14:20
Не должны