@kotlin_lang

Страница 654 из 982
Andrew
28.04.2018
19:33:48
мало! интересны подробности и перспективы куда идет движуха )
В репе на гитхабе новостей нету точно, последний раз, когда спрашивали в ишьюсах, было такое же "пока так, возможно поменяем". Так что разве что искать доклады с инсайдами :)

Sergey
28.04.2018
19:34:26
в 2019 будет видно куда они идут и как

у джетбрейнса на сколько я понимаю просто пока нет ресурсов чтобы идти с желаемой скоростью

Google
Andrew
28.04.2018
19:36:48
в 2019 будет видно куда они идут и как
В 2019 они уже релиз планируют, там поздновато будет, пожалуй, модель памяти менять :)

Sergey
28.04.2018
19:37:27
вопрос же был о перспективах, вот будет релиз - будут видны перспективы

а пока имо коммиты в гитхаб

врятли такие вещи будут с комьюнити обсуждаться

Egor
29.04.2018
09:54:26
А кто-нибудь знает, чоэт на Хабре статей нет про ктор толком? Неинтересно или табу?

Gleb
29.04.2018
09:57:20
Альфа еще, мб никто в прод не тащит - вот и писать особо некому

Quantum Harmonizer
29.04.2018
10:03:55
А что там писать? Берёшь да пользуешься.

Egor
29.04.2018
10:07:36
Я ж не разработчик ктора, ктором пользоваться без документации

Quantum Harmonizer
29.04.2018
10:09:16
Я тоже не разработчик ктора, мне примеров хватило. Писать доку без замороженного API — такое себе.

Egor
29.04.2018
10:11:57
Тоже верно, но полчаса рыскать между гитхабом и ктор.ио, чтобы найти, как вытаскивать вещи из запроса, а наткнуться лишь на скользкое упоминание функции param, которая юзается в дсл-е - такое себе

Kirill
29.04.2018
10:39:56
https://blog.jetbrains.com/kotlin/2018/04/kotlinnative-v0-7-released-smoother-interop-frozen-objects-optimisations-and-more/

Ivan
29.04.2018
11:44:31
fun transform(`in`: EndpointResponse) = `in`.takeIf { it.id != null }?.run { Endpoint( id = id as Long, address = address ) }

Можно сделать так, чтобы котлин понимал, что id не null и использовал smartcast?

Google
Ivan
29.04.2018
11:48:01
'in'?.id?.run()
Тогда в блоке run будет id

Так же, я хочу иметь возможно указать больше условий для takeIf

Quantum Harmonizer
29.04.2018
13:42:35
Есть у меня две версии классов — однопоточные и параллельные. Можно как-то коротко назвать фабрики? Потому что nonSynchronized* и concurrent* — это дико, особенно когда есть nonSynchronizedMutable* и concurrentMutable*. Была идея завести маркер-интерфейсы NonSynchronizedContext и ConcurrentContext и фабричные extension-функции, но это опасно, т. к., изменив интерфейс, меняешь суть кучи кода. Да и эта деталь реализации вылазит наружу через этот маркер.

Egor
29.04.2018
14:01:24
Интерфейсы с дефолтными реализациями фабричных методов? Наружу ничего не лезет вроде, можно вообще приварить передачу туда собственного класса для инстанциирования конкретных реализаций

Quantum Harmonizer
29.04.2018
14:02:04
не, интерфейс без методов + экстеншены к нему

Egor
29.04.2018
14:05:11
Интерфейсы с дефолтными реализациями фабричных методов? Наружу ничего не лезет вроде, можно вообще приварить передачу туда собственного класса для инстанциирования конкретных реализаций
Нет, это предложение хд Например, interface NonConcurrent { fun createInstance(class: Class): NonConcurrent { return class.newInstance() } } Что-то вроде того, не помню, как оно в котлине пишется

а, кстати, только сейчас дошло, что здесь не так, он же будет вызываться на конкретном объекте класса

Ну да

Ладно, другой вопрос

Компаньоны?

Quantum Harmonizer
29.04.2018
14:18:40
а что с ними можно сделать?

Egor
29.04.2018
14:19:32
Статические фабричные методы, отдельно для каждой реализации

Quantum Harmonizer
29.04.2018
14:21:48
так же многословно, ConcurrentMutableSmth.create()

Vladimir
29.04.2018
14:30:58
так же многословно, ConcurrentMutableSmth.create()
Назвать invoke и не надо будет писать .create

Рома
29.04.2018
17:30:50
ребят подскажите что за метод такой invoke ?

Sergey
29.04.2018
17:32:27
ребят подскажите что за метод такой invoke ?
http://kotlinlang.org/docs/reference/operator-overloading.html#invoke

Quantum Harmonizer
29.04.2018
17:51:27
Назвать invoke и не надо будет писать .create
Да, но при длинном названии разницы между именем фабричной функции и invoke у компаньона нет.

Peter
29.04.2018
18:53:15
Ребят, привет. Если kotlin+js с нодой использовать, проблема однопоточности ноды решается? Не будет проблем со сложными операциями? Реализация и концепция корутин от обычной jvm отличается? Или котлин слепо компилируется в js и всё на этом заканчивается?

Mayor
29.04.2018
18:54:37
однопоточность ноды?

Google
Peter
29.04.2018
18:54:49
да

Mayor
29.04.2018
18:54:49
с каких пор?

Даниил
29.04.2018
18:54:56
с каких пор?
а с каких пор нет?

Peter
29.04.2018
18:54:57
с пор создания ?)

Даниил
29.04.2018
18:55:33
с каких пор?
с утра вроде ноду можно было только на несколько процессов через cluster раскидать, это не то

Mayor
29.04.2018
18:55:34
в ноде нельзя делать потоки?)

Даниил
29.04.2018
18:55:39
Mayor
29.04.2018
18:55:43
ну да, нормальных тредов там нет

Bogdan
29.04.2018
18:55:45
Gleb
29.04.2018
18:55:48
arrow-io не умеет пока в kotlinjs да?

Mayor
29.04.2018
18:55:53
но многопоточность сжедать можно)

Даниил
29.04.2018
18:56:02
но многопоточность сжедать можно)
асинхронность, не многопоточность

Даниил
29.04.2018
18:56:10
Это то
нет это совсем не то

Mayor
29.04.2018
18:56:20
Это то, только другими словами

Даниил
29.04.2018
18:56:23
Mayor
29.04.2018
18:56:29
как нет, если да

Bogdan
29.04.2018
18:56:36
как нет, если да
вот так нет

Даниил
29.04.2018
18:56:39
ты понимаешь разницу между процессом и потоком (тредом)?

Google
Sergey
29.04.2018
18:56:42
отличие например в том, что нельзя шарить любые данные между инстансами

Mayor
29.04.2018
18:56:47
Однопоточный это пхп

Peter
29.04.2018
18:56:53
https://github.com/Kotlin/kotlinx.coroutines/tree/master/js/kotlinx-coroutines-core-js Как тогда это работает, если работает?

Sergey
29.04.2018
18:57:04
Mayor
29.04.2018
18:57:18
@mayor
Да, понимаю

Gleb
29.04.2018
18:57:19
http://arrow-kt.io/ Йо красавчики эта либа умеет в котлин джс?

Admin
ERROR: S client not available

Sergey
29.04.2018
18:57:20
шарить можно только SharedArrayBuffer, и то, не в ноде, вроде

Даниил
29.04.2018
18:57:35
Да, понимаю
тогда зачем говоришь что одно и то же если в одном случае создаются процессы, в другом потоки

Mayor
29.04.2018
18:57:37
Но разжедение на "потоки" процессами в пхп и в ноде разные вещи

нет многопроцессносьи

это таже самая многопотояность

Bogdan
29.04.2018
18:58:04
Даниил
29.04.2018
18:58:06
пиши внятно пожалуйста, чтобы не приходилось вчитываться

Peter
29.04.2018
18:58:22
в общем, явной пользы никакой не принесёт?

Mayor
29.04.2018
18:58:25
да клавиатура непривычная на новом тлф

Даниил
29.04.2018
18:58:39
в ноде асинхронность, не многопоточность

Google
Bogdan
29.04.2018
18:58:57
в общем, явной пользы никакой не принесёт?
думаю нет, но я по этому не спец

Mayor
29.04.2018
18:58:59
ассинхронность не есть многопоточностью?

Даниил
29.04.2018
18:59:11
Mayor
29.04.2018
18:59:16
запросы ассинхронные выполняюося в одном потоке?

Нет

Mayor
29.04.2018
18:59:31
значит поток не 1, значиь это многопоточность

Даниил
29.04.2018
18:59:40
Нет
в смысле нет?

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

Igor
29.04.2018
19:00:04
arrow-io не умеет пока в kotlinjs да?
Даже если бы умело, то в чем профит в их дополнительных абстракциях? Есть же корутины с минимальным перформанс оверхедом в языке.

Mayor
29.04.2018
19:00:15
не объязательно
в многопоточности тоже не обязательно больше 1 потока для ассинхронного выполнения)

Даниил
29.04.2018
19:00:37
в многопоточности тоже не обязательно больше 1 потока для ассинхронного выполнения)
> в многопоточности не обязательно больше одного потока я даже не знаю как это комментировать

Mayor
29.04.2018
19:00:45
Да, так и есть

Bogdan
29.04.2018
19:00:48
может он гонит?

Sergey
29.04.2018
19:01:03
код js всегда выполняется в одном потоке

Mayor
29.04.2018
19:01:04
У тебя одновременно может быть запущенно 1000 потоков, но это только условно

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