@kotlin_lang

Страница 141 из 982
Konstantin
21.05.2017
09:55:35
Поясни
Ну корутины — еще один способ асинхронного поведения со своими вполне очевидными плюшками. Rx же есть Observer и куча способов трансформации и комбинирования потоков данных.

? animufag ?
21.05.2017
09:56:37
Я естественно не пользовался ни тем ни другим

Google
Konstantin
21.05.2017
09:57:00
Сделать-то все что угодно можно, идеи разные сами по себе.

? animufag ?
21.05.2017
10:00:44
Ну корутины — еще один способ асинхронного поведения со своими вполне очевидными плюшками. Rx же есть Observer и куча способов трансформации и комбинирования потоков данных.
Цель этой кучи трансформаций данных на rx не асинхронное программирование? Корутины не могут выразить те же самые комбинаторы? Ну то есть одна суспенд функция вызывает другую суспенд функцию != флатмап?

Konstantin
21.05.2017
10:34:47
Цель этой кучи трансформаций данных на rx не асинхронное программирование? Корутины не могут выразить те же самые комбинаторы? Ну то есть одна суспенд функция вызывает другую суспенд функцию != флатмап?
Ну, в моем понимании совсем нет. То есть, rx — способ писать потоковую обработку данных. Из асинхронщины там только применение scheduler и при этом сам код вообще никак не меняется. Корутины — дешевый в плане перфоманса способ асинхронного программирования без колбэков. Совершенно разные же вещи.

Михаил
21.05.2017
10:37:26
кстати. кто пояснит) как корутины работают под капотом?)

тот же колбэк, только на нужном треде?

? animufag ?
21.05.2017
10:42:14
Вот как корутины помогут сделать Observer?
Ну да это норм аргумент, что rx централизованное хранилище колбеков с логикой подписки/отписки

Понять бы ещё что значит слово асинхронный. Оно ведь != конкурентный?

Михаил
21.05.2017
10:44:22
почему нет?

по-моему ==

? animufag ?
21.05.2017
10:48:42
Ну было бы глупо что люди пользуются двумя равнозначными словами

При этом в контексте rx всегда говорят асинхронный, в корутинах тоже

Ну звучит норм

Google
? animufag ?
21.05.2017
10:50:00
В базовых понятиях, в cs говорят конкурентный/параллельный

Михаил
21.05.2017
10:51:12
cs?)

Anton
21.05.2017
10:51:15
параллельный != асинхронный

Quantum Harmonizer
21.05.2017
10:51:58
Асинхронный означает «в другое время». Нода однопоточная, но асинхронная. Конкурентный == параллельный.

Quantum Harmonizer
21.05.2017
10:55:46
можно ссылку?

Umren
21.05.2017
10:55:49
Конкурентность это не паралеллизм называется

С телефона день искать

Легко гуглится

Там подробно обьесняется все

concurrency is not parallelism rob pike - Поиск в Google https://www.google.ru/search?q=concurrency+is+not+parallelism+rob+pike&oq=concurrency+is+&aqs=chrome.2.69i57j0l3.13141j0j4&client=ms-android-xiaomi&sourceid=chrome-mobile&ie=UTF-8

Umren
21.05.2017
11:00:41
https://www.youtube.com/watch?v=cN_DpYBzKso

Вот как корутины помогут сделать Observer?
Никак, корутины это инструмент для конкурентного программирования, а не фреймворк

а RxJava это либа/фреймворк целый

? animufag ?
21.05.2017
11:05:57
cs?)
Компуктер сцайнс

Универ

Anton
21.05.2017
11:07:40
в книге по рх кстати норм рассказывается про отличия вот эти

Google
? animufag ?
21.05.2017
11:08:36
Да везде рассказывают про конкурентный != параллельный

Пойду вики почитаю

Anton
21.05.2017
11:09:00
ну да но я просто ее читал как раз вчера поэтому сказал про нее именно)

Umren
21.05.2017
11:11:29
ну и вот про отличия асинхронного и конкурентного можно сравнить ноду и го, в первой у тебя все херачится в одном треде и если тебе нужно коммуницировать между разными инстансами ноды на разных тредах у тебя проблемы, в го оно размазывает корутины на все треды и там легкая коммуникация, условно говоря корутины это абстракция над асинхронщиной, более мощная

притом что оно может работать так же в рамках 1 треда

поэтому где у тебя куча ядер - тебе не нужно по инстансу ноды поднимать на каждое

стильно, модно, молодежно и удобно

Umren
21.05.2017
11:14:19
Вроде корутины в котлине слизаны, поэтому все те же ништяки у нас будут

Anton
21.05.2017
11:14:43
у нас))

Umren
21.05.2017
11:14:45
Не думаю что коммуникация разных инстансов го проги будет лёгкой
У тебя нет инстансов, у тебя 1 программа а корутины размазываются шедулером

Anton
21.05.2017
11:14:47
лол

Anton
21.05.2017
11:14:54
предал дарт

Umren
21.05.2017
11:14:55
коммуникация идет через каналы

она дешевая и быстрая, в ноде с этим жопа

Anton
21.05.2017
11:15:33
что за корутины вообще ниразу в жизни не видел

Umren
21.05.2017
11:15:45
в котлине же уже

Google
? animufag ?
21.05.2017
11:18:12
Ок. Буду теперь это считать определением. В интернетах вроде люди говорят что асинхронный - параллельный или конкурентный в зависимости от контекста разговора и вообще что больше тебе по душе

Umren
21.05.2017
11:18:34
Ну это 3 разных понятия на самом деле

просто путаются те кто хотя бы вики не открыл поинтересоваться

Про асинхронность сейчас часто говорят в JS мире, а паралелльность там вообще невозможна технически

? animufag ?
21.05.2017
11:19:46
Вроде вики про это не пишет

Umren
21.05.2017
11:20:21
Глянь доклад видосик сверху кидал

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

Admin
ERROR: S client not available

Umren
21.05.2017
11:38:43
Они вроде не так давно появились и кстати вроде корутины в котлине на них размазываются?

Руслан
21.05.2017
11:38:52
Всякие модули для ноды на нормальных языках типо раст

Это сервис воркеры достаточно новая штука

Umren
21.05.2017
11:39:27
Вот разница будет в том, что в жсе нужно будет ручками размазывать, а корутины уже это абстрагируют

Алексей
21.05.2017
11:48:00
Как можно ускорить intellij idea? Использую связку intellij idea + kotlin. Компиляция самого простого helloworld занимает 10 сек

Boris
21.05.2017
11:48:09
Корутины в котлине это только способ передачи управления

Не больше и не меньше, на базе возможности передавать управление в любую часть метода можно сделать много разных штук

Никакого отношения к асинхронности или параллельности они сами по себе не имеют

Но они хороший инструмент для реализации асинхронного выполнения кода

Google
Umren
21.05.2017
11:53:27
Как можно ускорить intellij idea? Использую связку intellij idea + kotlin. Компиляция самого простого helloworld занимает 10 сек
Че та много занимает, хз у меня по дефолту все более мене шустро хотя комп далеко не сильный

если хелловорлд на андроиде то там важно что бы гредл демон крутился

ну и если у вас инстант ран работает то вообще красота)

Umren
21.05.2017
11:55:06
у меня 2х ядерный проц мелкие программки запускаются оч шустро

памяти у вас сколько?

Алексей
21.05.2017
11:56:18
6 гб озу, 4-х ядерный процессор

сейчас пробую подкрутить что нибудь в настройках idea

Boris
21.05.2017
11:57:34
Первый запуск долго, второй уже сильно быстрее

Алексей
21.05.2017
12:20:43
как я делал в android studio, чтобы его ускорить - нажимал в настройках gradle - offline work и нажимал skip source generation (more than 0 modules), время сборки уменьшалось до 2-х секунд, тут такой трюк не проходит

Umren
21.05.2017
12:23:17
Хз, это какой то глюк в идее или есть что то о чем мы не знаем, я сейчас изучаю котлин и постоянно гоняю программки, 0.1 сек да, 10 сек? нет

Алексей
21.05.2017
12:35:43
методом начного тыкания пальцем в небо было обнаружено, что с высунутым из ноутбука интернет модемом время сборки уменьшается до 1 сек

Так просто или под андроид?
простой kotlin проект, не под андройд

Ruslan
21.05.2017
12:36:27
Попробуй материнку вытащить)

Алексей
21.05.2017
12:37:58
без интета компилится за 1 сек, как только подключаюсь к интернету за 10 сек

Kirill
21.05.2017
12:40:12
у тебя градл?

Алексей
21.05.2017
12:40:32
да

Kirill
21.05.2017
12:40:41
может быть он пытается обновить индексы или ещё что-то типа того?

Evgeny
21.05.2017
12:45:14
Зависимостей с плюсом в версии нет?

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