@kotlin_lang

Страница 829 из 982
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
Но не кложе -)

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
⛧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

Без либы и тд

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

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

Mikhail
26.08.2018
19:03:39
В сравнении с лаконичным Rx*
Ну это уже вкусовщина пошла

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

Andrew
26.08.2018
19:04:01
В сравнении с лаконичным Rx*
Продолжай писать на своём "лаконичном" Rx, никто ж насильно не пересаживает на корутины.

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

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

Konstantine
26.08.2018
19:04:48
Продолжай писать на своём "лаконичном" Rx, никто ж насильно не пересаживает на корутины.
Я пишу на чем доведется, речь не о том, чтобы пересесть. Мне интересно, правда ли все считают, что на корутинах код выглядит лучше, а ты уже куда-то не туда ускакал.

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
Я вижу "нужно взять последовательный код и вывернуть его наизнанку", "позволяют продолжать писать последовательный код, который самим компилятором рвётся в асинхронщину". Возможно речь об асинхронном написании кода? ?

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
Ну дык донеси до нас, по каким критериям ты предлагаешь их сравнить.
Мне банально какой-нибудь Api.auth(login, password) .doOnSubscribe { doSomething() } .subscribe({}, {}) выглядит и читается намного приятнее и понятнее, чем аналог на корутинах, который выглядит как последовательный, но кривой код.

Ну если вам не нравится - не пишете так. Какой смысл спрашивать что кто-то там считает? Пишете как вам удобнее и нравится.))
Я и пишу как мне удобно. Но мне интересно мнение. Или вопрос мой так мешает, не пойму?)

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

Sasha
26.08.2018
19:15:07
Я и пишу как мне удобно. Но мне интересно мнение. Или вопрос мой так мешает, не пойму?)
Непонятна смысловая нагрузка этого вопроса. Как выше уже написали - вкусовщина.

Google
Admin
ERROR: S client not available

Konstantine
26.08.2018
19:15:25
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 и он используется не только для "тупо сходить в сеть в фоне", то зачем юзать корутины и разрывать консистентность кода? Можно конечно, но зачем?

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

Konstantin
26.08.2018
19:23:21
Корутины не очень удобно использовать реактивно. Они по идеологии работают как асинхронные задачи с последовательным выполнением.
а параллельно можно запустить несколько задач и потом склеить результат по завершении?

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

Ilya
26.08.2018
19:24:20
Для чего ещё? Объединение результатов запросов? Ретраинг?
Да. Запросы склеить, на какой-то стадии выполнить ещё что-то, преобразовать в другой тип данных, да что угодно

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
Да. Запросы склеить, на какой-то стадии выполнить ещё что-то, преобразовать в другой тип данных, да что угодно
Видишь ли, в чём дело, людям, которые пользуются корутинами, не особо очевиден профит "преобразовать в другой тип данных" -- это слишком очевидная хрень, которая пишется нормальным языком вне стримов.

Корутины, если что, не с первого использования доходят, как и рх. Их просто надо хорошенько пощупать.

Было бы желание пробовать новое :)

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

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

Konstantin
26.08.2018
19:30:00
Вообще, сравнивать плюсы rx и корутин в чате котлина не самая объективная затея. В чате по rx все бы логично топили за него. В общем, "кто как хочет, так и ..."
я вот из за боязни споров так и не могу разницу понять до конца чтобы знать когда и что применять, люди чет не особо хотят холиварить ?

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

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