@kotlin_lang

Страница 882 из 982
Alexandr
20.09.2018
19:58:14
Да будет, будет. Думаю, что в следующем году. Просто сейчас не в приоритетах.
По комментариям на форуме - не скоро. Да и где то Бреслав или еще кто говорил что не скоро, текущая реализация мол не проигрывает

Не скоро завезут короче

Хотя наверно можно попробовать спросить тут @relizarov, но думаю другого ответа не получим

Alexander
20.09.2018
20:00:24
Да. Но тикет есть. Там даже какое-то движение. Просто не понятно зачем. Фичи новых jvmвставлять будут. Просто не очень быстро. В первую очередь дефолты из jvm8 (уже есть). Потом jigsaw.

Google
Alexander
20.09.2018
20:02:50
На мобилке. Не найду. Но вопрос периодически поднимается.

Интересный факт что динамики мало что дают для статического языка.

Alexandr
20.09.2018
20:03:58
На мобилке. Не найду. Но вопрос периодически поднимается.
Буду признателен если отправите как будет возможность, может завтра тоже погуглю еще раз

Интересный факт что динамики мало что дают для статического языка.
Там фишка +- в скорости вызова лямбд и стоимости ресурсов на их содержание

Так что дают на самом деле, иначе бы их в jvm не завезли

Beholder
20.09.2018
20:07:17
Динамики для котлины мало что дают.
Чтобы не было кучи анонимных классов для лямбд

Alexander
20.09.2018
20:08:31
Котлин большинство лямбд инлайнит

Beholder
20.09.2018
20:12:52
Котлин большинство лямбд инлайнит
Swing, addActionListener { чего-нибудь } - и понеслась

Знаменитый kotlinx.html тоже весёлый байткод выдаёт

Quantum Harmonizer
20.09.2018
20:14:44
Beholder
20.09.2018
20:15:47
как / на что это влияет?
Боюсь что JVM захлебнётся с раздутыми класслоадерами

JAR-ники больше и скорость загрузки меньше

Google
Beholder
20.09.2018
20:19:09


Quantum Harmonizer
20.09.2018
20:19:50
да-да, у меня тоже такое есть, я даже багу заводил :)

Beholder
20.09.2018
20:22:50
В таких классах реального кода на несколько десятков байт, а остальное - заголовки и пул констант

Quantum Harmonizer
20.09.2018
20:40:17
Sergey
20.09.2018
20:45:11
в современном байт-коде Android есть invokedymanic
ещё нету, в андроид 8.0 добавили только invoke-polymorphic и invoke-custom

Quantum Harmonizer
20.09.2018
20:45:45
капец, не можем седьмую джаву догнать...

Sergey
20.09.2018
20:46:46
значит и не сильно надо видимо ?

Quantum Harmonizer
20.09.2018
20:48:49
ещё нету, в андроид 8.0 добавили только invoke-polymorphic и invoke-custom
не копал детально, но... https://stackoverflow.com/questions/45862140/invokedynamic-requires-min-sdk-version-26

Sergey
20.09.2018
20:49:26
не копал детально, но... https://stackoverflow.com/questions/45862140/invokedynamic-requires-min-sdk-version-26
https://source.android.com/devices/tech/dalvik/dex-format https://source.android.com/devices/tech/dalvik/dalvik-bytecode

Quantum Harmonizer
20.09.2018
20:50:57
invoke-custom как раз по описанию выглядит как invokedynamic

Sergey
20.09.2018
20:52:27
возможно, я не сильно в теме байт-код инструкций java 8 ?

Руслан
20.09.2018
22:37:14
Какими проектами - генераторами (аля start.spring.io) или проектами-шаблонами (аля склонируй нашу репу и пиши свой код) вы пользуетесь?

Алексей
21.09.2018
02:59:18
А кто-нибудь знает, есть ли в котлин корутинах что-то вроде CountDown?

просто он, как я понимаю, поток намертво лочит, что в рамках корутин не ок

Alexandr
21.09.2018
03:05:28
В корутинах кооперативная многозадачность и поэтому примитивы синхронизации отсутствуют

Алексей
21.09.2018
03:10:11
Задача просто такая, чтобы ограничить некоторое действие

Если точнее - нужно ограничить скорость запросов. Алгоритм такой, что есть исходное и максимальное число запросов, каждый запрос должен отнимать счётчик или ждать такой возможности. Счётчик "регенерирует" по некоторой логике (+1 в секунду, например)

Google
Алексей
21.09.2018
03:13:36
и пока что кроме CountDownLatch я ничего не могу придумать

но в корутинах его нельзя использовать по понятным причинам

Bogdan
21.09.2018
03:48:07
Интересный факт что динамики мало что дают для статического языка.
Он был как раз сделан для яп -скриптов, груви и т.д., не понимаю зачем он людям так сильно нужен, вот за новые фичи jvm страшно, с модулями можно и интернал сделать норм, а не просто паблик

Alexandr
21.09.2018
03:48:39
это да

Bogdan
21.09.2018
03:51:59
Боюсь что JVM захлебнётся с раздутыми класслоадерами
Так класс все равно будет, только зашит в байт код, если есть класс значит и класслоадер будет работать, + что с не нужна ферификация, и загрузка класса быстрей, не нужно его искать по класспасу

Sergey
21.09.2018
04:11:16
В 24 API вроде с лямбдами и invoke dynamic завезли, не?
Я выше скинул спеку по аоспу, там нет упоминания про эту инструкцию. invoke-custom появился только в апи 26

Могу точно сказать что на апи 24 лямбды не настоящие. Вроде даже на Google IO 2016 упоминанили про это(вскользь). Да и тогда был упор на Jack toolchain

Alexandr
21.09.2018
04:13:52
смотрел тут

https://developer.android.com/studio/write/java8-support

т.е. invokedynamic только с 26 API?

Sergey
21.09.2018
04:16:50
т.е. invokedynamic только с 26 API?
Именно такой инструкции до сих пор нету. Насколько я понял есть аналогичные которые делают тоже самое. invoke polymorphic и invoke custom https://source.android.com/devices/tech/dalvik/dalvik-bytecode

Alexandr
21.09.2018
04:17:50
т.е. тру java8 либы подключить к андройду до сих пор не возможно?

Alexandr
21.09.2018
04:19:10
написанные на java 8 и скомпиленные его компилятором. там в байткоде будет invokedynamic

Sergey
21.09.2018
04:19:51
написанные на java 8 и скомпиленные его компилятором. там в байткоде будет invokedynamic
Насколько я понял Гугл это корректирует с помощью дексера и дешугара

d-8 и desugar

A так в андроид фреймворк добавили Stream API и ещё некоторые вещи из jdk8 начиная с апи 24

Alexandr
21.09.2018
04:25:18
Насколько я понял Гугл это корректирует с помощью дексера и дешугара
а, точно, там же все в свой бинарный формат перепаковывается

Google
Mikhail
21.09.2018
05:13:01
https://twitter.com/kotlin/status/1042835965969149959?s=19
А новый кодстайл где-то описан? Можно дифф со старым посмотреть?

Руслан
21.09.2018
06:41:32
https://github.com/Kotlin-Polytech/KotlinAsFirst2018

Alexander
21.09.2018
06:49:21
https://github.com/Kotlin-Polytech/KotlinAsFirst2018
Это кто такое счастье организовал. Оно где-то читаться будет? Я в следующем семестре буду читать курс по kotlin в МФТИ. Направленность несколько другая, но какие-то куски я бы поиспользовал.

Руслан
21.09.2018
06:51:25
Судя по комитам http://kspt.icc.spbstu.ru/info/staff/glukhikh/ один из организаторов сего прекрасного

Alexander
21.09.2018
06:52:51
Отлично. Ну буду ссылаться тогда

После вывешивания ссылки количество звездочек удвоилось :)

Руслан
21.09.2018
06:59:29
А новый кодстайл где-то описан? Можно дифф со старым посмотреть?
Это не новый кодстайл (уже давно не новый), просто сделали так чтобы он включался для новых проектов.

Вот тут он описан, и описано как включить в IDE: https://kotlinlang.org/docs/reference/coding-conventions.html

Admin
ERROR: S client not available

Руслан
21.09.2018
07:11:25
obsolete

Maxim
21.09.2018
07:34:35
Поясните, пожалуйста, почему: Call chain on collection should be converted into 'Sequence' ?

Иван
21.09.2018
07:35:06
Поясните, пожалуйста, почему: Call chain on collection should be converted into 'Sequence' ?
Иначе на каждый вызов будет создаваться новая коллекция

Аналог stream из Java

Maxim
21.09.2018
07:36:25
ага, весь вопрос в оптимизации?

Иван
21.09.2018
07:37:13
ага, весь вопрос в оптимизации?
Ну.... в адекватности скорее)

Коллекции могут быть огромные

Maxim
21.09.2018
07:38:50
Тогда в догонку ещё вопрос, как мне найти все места, где это можно поправить?) В android studio, например, в code inspection такие ошибки будут в отдельном разделе?

Google
Иван
21.09.2018
07:39:39
Вот этого не знаю

Alexandr
21.09.2018
07:39:43
Коллекции могут быть огромные
как раз на больших коллекциях профит и имеется

Иван
21.09.2018
07:42:14
чем не адекватно?
Цепочка из вызовов и коллекция на много элементов — лучше через sequence

Alexandr
21.09.2018
07:42:44
угу

Maxim
21.09.2018
07:50:50
Так вроде уже подсвечивается, как ворнинг, если больше одно оператора в чейне
Да, именно поэтому яи обратил внимание. Теперь по всему проекту надо просмотреть.

Alexandr
21.09.2018
07:52:01
вообще сиквенсы есть достаточно давно, просто о них не знают (не было рекламы как у java stream api), а сейчас добавилась инспекция, которая делает подсказку

Иван
21.09.2018
07:54:15
Вот оно что

IDE driven development

Vladislav
21.09.2018
08:01:09
Господа, с помощью чего в Kotline лучше всего работать с XML ?

Писать, читать

Alexander
21.09.2018
08:02:06
Лучше в каком смысле?

javax.xml отлично работает. Но он не очень удобный с точки зрения API

Beholder
21.09.2018
08:02:35
С помощью всего того же что и в Java

Разве что если захочется навесить какой-нибудь operator fun Element.get(...)

Vladislav
21.09.2018
08:04:04
javax.xml отлично работает. Но он не очень удобный с точки зрения API
Ну вот собственно, хотелось чтобы было удобнее, типа как в kotlin xml builder, только чтобы еше и читать можно было



Alexander
21.09.2018
08:04:34
А как билдером читать можно?

Vladislav
21.09.2018
08:04:42
никак (

вот и спрашиваю, может есть чего специально для котлина, удобненькое

Alexander
21.09.2018
08:05:12
Можно считать тем же javax.xml, а потом загнать его в билдер и редактировать

Страница 882 из 982