
Alexander
03.10.2017
16:49:12
новое писать

Anton
03.10.2017
16:49:14
Ну так вы что весь проект правили

Sergey
03.10.2017
16:49:48
около половины
остальную половину по ходу дела перевели

Google

Alexander
03.10.2017
16:50:10

Anton
03.10.2017
16:50:14
Насколько большой проект

Alexander
03.10.2017
16:50:18
запросы в сеть

Sergey
03.10.2017
16:50:24

Vladimir
03.10.2017
16:51:24
Кстати, может кто посоветует годноты для самообучения?

Sergey
03.10.2017
16:52:20
доки и kotlin koans
https://www.codingame.com попрактиковаться

Alexander
03.10.2017
16:55:27
А что используете плагин для AS 2 или AS 3.0?

Igor
03.10.2017
17:06:46

Alexander
03.10.2017
17:07:40

Quantum Harmonizer
03.10.2017
17:08:32

Alexander
03.10.2017
17:08:56

Google

Quantum Harmonizer
03.10.2017
17:09:50

Boris
03.10.2017
17:33:26

Igor
03.10.2017
17:36:27
Какую задачу они решают?
Expression Problem
Позволяют расширять классы “интерфейсами” со стороны, даже sealed (в Котлин особенно актуально)

Boris
03.10.2017
17:47:44

Igor
03.10.2017
17:48:53

Boris
03.10.2017
17:49:20
Ну это я по аналогии с экстеншн методами

Dibro
03.10.2017
17:51:12
чем не "интерфейсы со стороны"?

Igor
03.10.2017
18:02:01
дак есть же делегирование
Делегировать ты можешь только в класс/объект который наследует тот же интерефейс.
А если у тебя класс чужой либы или вообще String?

Dibro
03.10.2017
18:06:41

Igor
03.10.2017
18:07:10

Boris
03.10.2017
18:08:45
Прочитал, интересно. Как это на жвм ляжет непонятно

Dibro
03.10.2017
18:09:16

Igor
03.10.2017
18:10:31
Возможно там будут оптимизации на уровне байткода, что бы было меньше алокация.

? animufag ?
03.10.2017
18:14:55
Какую задачу они решают?
ну типа сейчас есть дофига мапов и ты не можешь сделать функцию над тем что можно мапать.
тебе придётся отдельно для листа, каждого массива и тд
если ты сделаешь интерфейс с мапом, то тебе придётся делать мап в какой-нибудь конкретный контейнер, например список
думаю на уровне байткода всё будет кривокостыльно

Dibro
03.10.2017
18:18:47
возможно в пределах котлина какую-нибудь оптимизацию и сделают, но с интеропом только через обёртки

Диёр
03.10.2017
18:23:15
У меня в тг десктопе в колонке с чатами написано что последнее сообщение в этом чате это "цазимитпо ьдубин-юукак анилток халедерп в онжомзов :Dibro..."
WTF?

Google

Mi
03.10.2017
18:23:51
Балуются со спецсимволаии

? animufag ?
03.10.2017
18:23:55
чел выделился своим ником
с тайпклассами можно будет отказаться от наследования
можно будет определить интерфейс и сделать его имплементацию для внешних классов
ещё сложно представить как оно будет с джавой интеропить
наверное интерфейс и обёртки генерить

Boris
03.10.2017
20:02:54
Я так думаю, что интерфейсы тут он помогут. Только инвокдинамик, только хардкор
Потому что интерфейсы пришлось бы инмплементировать в классах, а это просто невозможно

Юсуф
03.10.2017
21:03:00
в RxJava в метод map можно передавать класс mapper в виде Observable.map(new CustomMapper()), как то же самое проделать в котлине?

Quantum Harmonizer
03.10.2017
21:11:30

Alexey
03.10.2017
22:07:04
на работе пишу проект на джаве все еще. А домашний проект на котлине и иногда хочется копировать из домашнего проекта в рабочий куски кода, но Kotlin to Java нет ((

Kirill
03.10.2017
22:13:38

Руслан
03.10.2017
22:18:09
И потом в любом случае простыни на джаве читать

Kirill
03.10.2017
22:20:48
ну это да :(

Vic
03.10.2017
23:05:44
после котлина (и скалы) читать, а тем более писать на жабе просто тошно. как верно заметили в разборе полетов, когда к ним приходил роман, это должен быть главный страх менеджеров - дай девелоперу кодить на котлине, его потом на жаве не заставишь

Konstantine
03.10.2017
23:25:53
Какие привереды:)

Igor
04.10.2017
05:45:10
И потом в любом случае простыни на джаве читать
“Kotlin для совсем бедных” ?
https://medium.com/@andrey_cheptsov/making-java-code-easier-to-read-without-changing-it-adeebd5c36de
https://plugins.jetbrains.com/plugin/9320-advanced-java-folding

Sergey
04.10.2017
06:25:04
и lombock еще)

Mi
04.10.2017
06:26:10
Пользовался как-то этим плагином
Он скорее раздражает
Слишком в лоб работает

Google

Mi
04.10.2017
06:26:51
И скрывает иногда даже полезную информацию

Igor
04.10.2017
07:25:07
Всем трям, интересную странность обнаружил, у меня Очень (с заглавной буквы) много объектов в тесте внутри setOf. И котлин посылает меня, при попытке запустить тест (экранных строк - примерно 150-200, в каждой от 20 элементов). Мне Очень принципиально впихнуть все эти элементы в set, но вроде у компилятора на этот счет другие планы. Можно ли как-то обойти такой косяк? Трейс сейчас скину

Rikland
04.10.2017
07:28:19
Ох. Хорошо рвануло

Igor
04.10.2017
07:29:23
Да. Что ниже не знаю - даже при 16ГБ оперативки, скроллится оно отказывается

Badya
04.10.2017
07:29:51
Лог можно вытащить из системы
Пробовал компилеру мема подкинуть?

Igor
04.10.2017
07:30:39

Badya
04.10.2017
07:31:12
Ну нужно логи выуживать

Rikland
04.10.2017
07:32:33

Igor
04.10.2017
07:32:40
IntelliJ

Badya
04.10.2017
07:33:26
Я бы начал с help -> show log или чето вроде

Igor
04.10.2017
07:35:59

Igor
04.10.2017
07:36:50

Badya
04.10.2017
07:38:04
Логи в любом случае стоит покурить - может завести багу в JB

Igor
04.10.2017
07:40:19
Да, спасло ^_^
Мало ли, может сегодня кто-то зайдет, кто сможет ответить...
Есть задача - подключить в scala проект kotlin (достаточно - в виде модуля), либо наоборот - в kotlin проект модуль на scala. Система сборки - gradle. Может быть кто-то преуспел в подобном, без создания отдельно одного приложения и второго, и описания их коммуникации локальной?

Igor
04.10.2017
08:46:50
scala + gradle - месье знает толк

Google

Igor
04.10.2017
08:49:39

Руслан
04.10.2017
09:07:59
Посмотри у меня на гитхабе был пример с груви

Boris
04.10.2017
09:14:09
Это не такая проблема если ты их друг из друга не собираешься использовать

Igor
04.10.2017
09:24:39
О, на оф. issue tracker-е kotlin-а написали, что можно из scala котел вызывать. Как попробую - напишу

Dmitry
04.10.2017
09:35:14
как-то интегрировался со скалой из котлина. это какая-то боль. особенно, там, где object-ы, имплиситы, дженерики
какие-то куски пришлось писать на java

Igor
04.10.2017
09:36:52

Dmitry
04.10.2017
09:40:58
с коллекциями, например, выяснилось, что нельзя просто так взять мапу из java и сконвертить ее в скаловскую immutable map на котлине
@SuppressWarnings("unchecked")
public static <K, V> scala.collection.immutable.Map<K, V> toScalaMap(Map<K, V> map) {
Iterator<Tuple2> iterator = map.entrySet().stream()
.map(entry -> new Tuple2(entry.getKey(), entry.getValue()))
.iterator();
Seq seq = JavaConverters.asScalaIteratorConverter(iterator)
.asScala()
.toSeq();
return (scala.collection.immutable.Map<K, V>) Predef$.MODULE$.Map().apply(seq);
}

Boris
04.10.2017
09:42:43
Сурово
Надо просто конветр для итератора сделать, потом просто в сиквенсы оборачивать
Конвертер я имею ввиду адаптер
Возможно у склы есть свой
Адаптер