
Boris
25.08.2018
15:26:44

Quantum Harmonizer
25.08.2018
15:27:07

Ivan
25.08.2018
15:27:30

Dmitry
25.08.2018
15:27:35
На руби. Или элексире.

Google

Dmitry
25.08.2018
15:27:42
Но не кложе -)

Bogdan
25.08.2018
15:28:30

Boris
25.08.2018
15:28:34

Quantum Harmonizer
25.08.2018
15:28:38
Тут уж каждый сам выберет.
Но система типов где T на самом деле означает T | null — это печалька.

Friedrich
25.08.2018
15:29:30
Зато у нас есть система типов, в которой T! обозначает T ^ (T | null) :)
Или как там эта жава-нулабельность обозначается, вроде бы так?

Boris
25.08.2018
15:30:34

Friedrich
25.08.2018
15:31:48
Ок, да, там всего один. My bad.

Alexander
25.08.2018
18:39:28
Завершая вчерашний разговор про тайп классы, сделал статически типизированные математические выражения: https://github.com/altavir/kmath/blob/dev/kmath-common/src/test/kotlin/scientifik/kmath/expressions/FieldExpressionContextTest.kt есть еще некоторые проблемы с отделением контекста от выражения. Хочется все-таки чтобы выражение можно было пердаавать как переменную, наверное надо что-то с инлайнами замутить для этого.

Igor
26.08.2018
18:06:55
Так-с. Пришли первые веселости использования k-arrow. Написал @optics аннотацию, перебилдил проект, в итоге все успешно генерируется, но использовать не могу. Не видит студия этот код и все тут. Что может быть не так?

Mikhail
26.08.2018
18:15:11
Клин же делал?

Igor
26.08.2018
18:16:33
rebuild делал, сейчас с clean попробую, но кмк проблема не в этом. inline valы то генерятся, их не видет Android Studio.
UPD: clean не спасает, ни в какую не pабoтает.

Google

Bogdan
26.08.2018
18:28:51

Igor
26.08.2018
18:29:26

⛧Isoq
26.08.2018
18:45:51
здраствуйте я учусь ktor нужно помощь по sqlite как с ktor коннектится sqlite database я с jdbc пробовал но не работает
нужн примеры работ с датабасе

Konstantine
26.08.2018
18:56:16
Читаю и не понимаю, почему у корутин в плюсы (обычно при сравнении с рх) практически всегда ставят "красивый код".
По мне, цепочка операторов Rx выглядит намного приятнее и лаконичнее, чем эти вложенные лямбды для создания эффекта обычного кода.

Роман
26.08.2018
18:58:16
Синхронный код типа бросил туда и все асинхронно
+ многие не переваривают rx
Без либы и тд

Mikhail
26.08.2018
19:02:11
Наоборот

Konstantine
26.08.2018
19:02:55
Да, только выглядит, из-за всяких launch, await и пр., как гавно ?

Konstantin
26.08.2018
19:02:57

Konstantine
26.08.2018
19:03:03
В сравнении с лаконичным Rx*

Mikhail
26.08.2018
19:03:39

Роман
26.08.2018
19:03:51
Лаконичный рикс не все хотят тащить в проект

Andrew
26.08.2018
19:04:01

Konstantine
26.08.2018
19:04:09
Разумеется. Но ведь авторы статей прям пяткой в грудь бьют, мол вон как корутины красивы, а оно не так.

Роман
26.08.2018
19:04:40
Мне больше нравится

Konstantine
26.08.2018
19:04:48

Ilya
26.08.2018
19:05:25
...но ведь суть rx совсем не в асинхронщине

Google

Bogdan
26.08.2018
19:05:41

Andrew
26.08.2018
19:06:39
Я пишу на чем доведется, речь не о том, чтобы пересесть. Мне интересно, правда ли все считают, что на корутинах код выглядит лучше, а ты уже куда-то не туда ускакал.
Я просто не представляю себе, как Rx может кому-то казаться лаконичным, при учёте, что для того, что на него перейти чисто ради асинхронщины (я уже не говорю, что это оверкилл, как отметили выше), нужно взять последовательный код и вывернуть его наизнанку. В то время как корутины позволяют продолжать писать последовательный код, который самим компилятором рвётся в асинхронщину.

Konstantine
26.08.2018
19:07:57
Такое чувство, что игнор всего что я пишу. Как мухи прилепились к асинхронщине, когда речь о стиле написания кода.

Andrew
26.08.2018
19:08:23

Konstantine
26.08.2018
19:09:12
Я вижу "нужно взять последовательный код и вывернуть его наизнанку", "позволяют продолжать писать последовательный код, который самим компилятором рвётся в асинхронщину". Возможно речь об асинхронном написании кода? ?

Andrew
26.08.2018
19:09:51

Konstantine
26.08.2018
19:10:04
Ну точно игнор какой-то)
Пойду я тогда пожалуй)

Andrew
26.08.2018
19:10:38
Тут уже отметили, что сравнение рх и корутин -- это обсуждение сравнения тёплого с мягким, и очевидно, что сравнивать логично в разрезе асинхронных операций.

Ilya
26.08.2018
19:10:39
Красота кода - дело субъективное. Кому-то и асинктаски на джаве красиво

Quantum Harmonizer
26.08.2018
19:10:47

Konstantine
26.08.2018
19:11:28

Konstantine
26.08.2018
19:11:41
Но снова таки, прицепились куда-то не туда вы)

Andrew
26.08.2018
19:12:21

Sasha
26.08.2018
19:13:21

Konstantine
26.08.2018
19:13:25

Andrew
26.08.2018
19:14:48
А я вот не понимаю в упор, как вышеуказанная херня может быть нагляднее и лаконичнее последовательного кода. Профдеформация rx-ера?

Sasha
26.08.2018
19:15:07

Alexander
26.08.2018
19:15:16

Google

Admin
ERROR: S client not available

Konstantine
26.08.2018
19:15:25

Konstantin
26.08.2018
19:15:52

Andrew
26.08.2018
19:15:58
Я согласился бы касательно стрима с данными, где применяется мульон операторов нестандартных (хотя это, уж простите, было бы сравнение не с корутинами, а с операторами на коллекциях). Но вот этот вот пример с авторизацией -- ну не знаю.

Konstantine
26.08.2018
19:16:09
Куда-то снова всех занесло. А свое мнение по стилю кода высказал кто-то один выше, хех. Закинул говна на вентилятор и пойду )

Alexander
26.08.2018
19:17:25
Корутины не очень удобно использовать реактивно. Они по идеологии работают как асинхронные задачи с последовательным выполнением.

Andrew
26.08.2018
19:17:50

Alexander
26.08.2018
19:19:13
Вы просто ерунду просите. Сравнить стиль в системах с принципиально разным подходом. Это как стиль Явы со стилем лиспа сравнивать

Bogdan
26.08.2018
19:19:17
Ну точно игнор какой-то)
то что для написание рх нужно учится програмировать на рх, я перевожу сам рх и не юзал, корунтину ты вон можешь в форе запустить и это будет асинхронно, выкинешь асинхроность, код станет синхроный. но в итоге он не поменялся. Вывод имено в это

Ilya
26.08.2018
19:20:46
Если в проекте есть rx и он используется не только для "тупо сходить в сеть в фоне", то зачем юзать корутины и разрывать консистентность кода? Можно конечно, но зачем?

Bogdan
26.08.2018
19:21:50

Andrew
26.08.2018
19:23:16
В общем, моё мнение и я ушёл (хз, зачем вообще я ворвался а этот пустой трёп): те, кому нравится на каждую задачу вроде логина выдумывать себе какой-то стрим каких-то реактивных данных, лишь бы уложить это в парадигму рх, пусть продолжают жрать кактус.
Корутины позволяют делать это прямым и понятным кодом, при этом оставляя решение для непосредственно реактивщины в виде каналов. Да, ещё в разработке, да, без тонны операторов, да, местами непохожее на рх (что само по себе, конечно же, не плохо и не хорошо). Если бы кто-то заикнулся о сравнении рх и каналов -- я бы понял.

Konstantin
26.08.2018
19:23:21

Quantum Harmonizer
26.08.2018
19:23:32

Alexander
26.08.2018
19:23:56
Вот это на корутинах как раз супер удобно

Quantum Harmonizer
26.08.2018
19:24:01

Ilya
26.08.2018
19:24:20

Quantum Harmonizer
26.08.2018
19:25:04

Igor
26.08.2018
19:25:36
А такое в пpинципе неpеализуемо на котлине? Я что-то написал по-пpивычке, а потом задумался минуты на две, почему "_" кpасным подсвечивает
when (item.let(PlatformPlanEntity.isNext::get zip PlatformPlanEntity.status::get)) {
Tuple2(false, _) -> {
}
}

Google

Andrew
26.08.2018
19:25:52
Корутины, если что, не с первого использования доходят, как и рх. Их просто надо хорошенько пощупать.
Было бы желание пробовать новое :)

Alexander
26.08.2018
19:27:42

Ilya
26.08.2018
19:27:44
Вообще, сравнивать плюсы rx и корутин в чате котлина не самая объективная затея. В чате по rx все бы логично топили за него. В общем, "кто как хочет, так и ..."

Alexander
26.08.2018
19:29:29
Я могу сказать, что чисто реактивные потоки на корутинах не очень удобно делать (хотя инструменты для этого есть). Для корутинах надо по другому проектировать - через каналы

Konstantin
26.08.2018
19:30:00

Igor
26.08.2018
19:34:03

Alexander
26.08.2018
19:35:29
А, понял, но подчеркивание тут работать не будет. Лучше проверить поле отдельно