@kotlin_lang

Страница 454 из 982
Руслан
13.12.2017
13:58:02
Kirill
13.12.2017
13:58:21
нет. один из способов сделать это — расширить систему контрактов

чтобы она не только для смарткастов работала

(но это не точно. возможно есть более простые\удобные решения)

Google
Руслан
13.12.2017
14:01:26


Kirill
13.12.2017
14:02:44
@Contract?
ну и они тоже

Руслан
13.12.2017
14:03:05
(Джава потому что в котлине не работает ?)

Kirill
13.12.2017
14:04:11
и тут я понял, что не знаю как в скале зависимые типы реализованы в компиляторе/рантайме. может кто в пару слов объяснить? (да оффтоп, сорри)

Igor
13.12.2017
14:05:29
и тут я понял, что не знаю как в скале зависимые типы реализованы в компиляторе/рантайме. может кто в пару слов объяснить? (да оффтоп, сорри)
Может лучше не надо? В ванильной скале такого и нет. Лучше уж (хотя это конечно тоже хреново) class UFloat private constructor(val value: Float) { companion object { fun create(x: Float): UFloat? = if (x >= 0) UFloat(x) else null } }

Kirill
13.12.2017
14:07:39
> В ванильной скале такого и нет они только в dotty их завезли?

(ладно, пошёл гуглить)

Grigory
13.12.2017
14:08:32
есть path dependnt типы никаких макросов не нужно ничего не нужно (в либах это есть чтоб компиляцию ускорить) система типов скалы вытягивает сама

Grigory
13.12.2017
14:09:28
Ссылочку (желательно на похожий пример)
первый коммит шаплеза глянь там ни слуху ни духу о макросах

Руслан
13.12.2017
14:09:46
Ну имхо практический смысл сложных зависимых типов сильно падает. Например как вариант использования приводят перемножение матриц, мол там зная размерность каждой матрицы на выходе можно получить правильный тип (посчитать размерность производной матрицы) в общем виде. Но сложность написания растет быстрее чем польза. Мне нравится простые применения типо проверить что число будет больше 10 иначе не компиль

Grigory
13.12.2017
14:09:59
ну гетерогенный список тоже завсиимый тип - чем нет то?

Google
Igor
13.12.2017
14:10:05
первый коммит шаплеза глянь там ни слуху ни духу о макросах
Я не про макросы. А про ПРИМЕР на кейс “зависимые типы для не-негативных-float”. (про наличие в скале “какой-то реализации” зависимых типов и так все знали)

Grigory
13.12.2017
14:10:23
идриса чатик полезно для этих вопросов посетить кстати, там дядьки занимаются как раз типами

Igor
13.12.2017
14:12:31
Да вот есть теория - что это НЕ нужно (ибо вносит больше сложности, чем решает) (я том чатике уже есть)

Grigory
13.12.2017
14:13:16
я не понимаю к чему ты клонишь - какой был мессаг такой был мой ответ.



был оффтоп вопрос оффтоп ответ

Grigory
13.12.2017
14:14:54
неа

ну в принципе тоже честные - зависимые же)

просто 'с особенностями'

Kirill
13.12.2017
14:15:22
окей, "более сильные"

просто 'с особенностями'
мама говорит мне, что я особенный (с) :D

Grigory
13.12.2017
14:16:08
ну я понял о чем ты, ну да. вообще у меня нет под рукой паперов по типам в скале накидать тебе но они есть где-то в гуголе) если найдешь кстати кидани в личку я запощу их в скала чатике))

dobrowins
13.12.2017
14:18:15
Коллеги, пооффтопить можно? Сегодня проходил собеседовние на позицию Android-разработчика и по традиции под конец разговора запросил feedback. Один из вопросов, на котором я «прогорел» оказался вопрос «Готов ли Kotlin к продакшену?». Я ответил, что да безусловно, 20% приложений на google play уже его используют — и это оказался неправильный ответ. 6 лет разработки языка от создателей лучшей IDE для Java, поддержка мастодонтов индустрии, тонны материалов — ан нет, у нас пишут на 6й джаве и баста! Когда же это закончится.

Anton
13.12.2017
14:20:48
ты походу к дебилам ходил

dobrowins
13.12.2017
14:21:36
ты походу к дебилам ходил
Похоже на это. На самом деле, рад, что это открылось до найма.

Google
Anton
13.12.2017
14:21:55
мне вообще слабо верится что этот ответ вообще учитывается в фидбеке

Kirill
13.12.2017
14:22:11
это был аутсорс или продуктовая контора?

Anton
13.12.2017
14:22:28
ты нда до собеса подписывал? если нет говори название

dobrowins
13.12.2017
14:22:35
Kirill
13.12.2017
14:22:49
а. ну тогда сразу в /dev/null

dobrowins
13.12.2017
14:23:22
ты нда до собеса подписывал? если нет говори название
Не, ребят. Может это дурь разраба, который меня собеседовал.

Руслан
13.12.2017
14:25:16
Ну кстати про #android вакансии, в @kotlin_jobs добавилась еще одна

Vitalii
13.12.2017
14:27:42
так а почему не готов сказали хоть?
Просто в большинстве случаев разрабы консервативны. Многие до сих пор не используют лямбда-выражения, не используют MVP, не используют негугловых библиотек.

Roman
13.12.2017
14:27:45
Интересно, таких людей не смущает вся движуха вокруг языка за последний год и тот факт, что например новости в Android Weekly на 75% про котлин, а также дикое количество новых библиотек на котлине.

Vitalii
13.12.2017
14:28:46
RxJava для них также говно. Почему? Потому что и без всего этого вашего дерьма всё нормально программировалось раньше, и нам это не надо.

Gor
13.12.2017
14:28:48
вот до релиза были вопросы

сейчас нету

Gor
13.12.2017
14:30:24
Но это есть причина того, почему его до сих пор не котируют.
ну, короче говоря, вопрос дибилоидный изначально "готов ли для продакшена"

Google
Kirill
13.12.2017
14:30:57
я бы ещё понял если бы вопрос был про корутины. готовы ли они к продашну :)

Vitalii
13.12.2017
14:31:01
Ну такое. Есть есть котлин-каналы и корутины
Я говорю про людей, у которых котлин вообще как язык не рассматривается, где на Java программируют.

Ну и эт, разве корутины уже вышли из эксперементальной стадии?

Igor
13.12.2017
14:31:43
я бы ещё понял если бы вопрос был про корутины. готовы ли они к продашну :)
Только не говори что нет, а то я уже все на них переписал)))

Admin
ERROR: S client not available

Vitalii
13.12.2017
14:32:32
Нет.
Ну вот, тут тоже ещё можно было бы докопаться, в отличие от rx*.

Gor
13.12.2017
14:33:20
Kirill
13.12.2017
14:33:39
по нашей(kotlin-team) информации — да

Nick Senchurin
13.12.2017
14:33:42
rx тащит , не надо ляля ?

Kirill
13.12.2017
14:34:07
есть ребята из Польши, у которых весь backend на корутинах (они вроде бы e-commerce пишут)

Roman
13.12.2017
14:34:34
Я бы все же не сравнивал корутины и rx. Это совершенно разные вещи. Некоторые задачи и так и эдак решаются, но на каналах например нельзя написать по-настоящему реактивную программу, а на rx не удобно работать с асинхронностью.

Nick Senchurin
13.12.2017
14:35:17
а на rx не удобно работать с асинхронностью, а можно подробее пжлст

Nick Senchurin
13.12.2017
14:37:02
может быть кто-то не знает достаточно операторов? ведь кроме map еще есть flatmap со своим шедулером ^_^

Roman
13.12.2017
14:37:37
Ну это холиварная тема, и как правильно замечено, я уже "пытался продать", можно ту переписку прочесть.

Google
Nick Senchurin
13.12.2017
14:38:04
если честно, долго искать, а можно конкртетный асинхронный кейс

вот при таком кейсе rx не затащит и все тут

ну хотяб вкратце)

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

Roman
13.12.2017
14:39:35
Я честно сказать пытался недавно придумать сложную задачку на rx, но у меня не особо вышло. Я все же не pro в rx-java, а тех знаний что у меня были не достаточно чтобы написать что-то архи-сложное.

Руслан
13.12.2017
14:40:51
У них спринг + корутины

а кстати их кто-то в продакшене юзает уже?
У меня есть в проде, но там не high load вот это все. Undertow, и совсем небольшая нагрузка.

Roman
13.12.2017
14:45:05
Я могу примерно описать что такое рективная программа. Вот есть скажем текстовое поле, данные в котором зависят от результата вычисления функции на основе друх других полей, при обновлении любого поля изменяется результат. Это классическое описание реактивщины. Заметьте, что тут нет упоминания переходов в другой поток например.

Такую программу можно написать и на корутинах в императивном стиле, но это будет довольно коряво.

Nick Senchurin
13.12.2017
14:47:12
шлепаем сабжект, эмитим по изменению в полях, в подписке обновляем то первое поле, что зависит от первых двух

ну это так, навскидку

Roman
13.12.2017
14:47:56
Это решение на корутинах?

Nick Senchurin
13.12.2017
14:48:04
нене, я за rx топлю)

Sergey
13.12.2017
14:48:07
разве на каналах не выйдет сделать тоже что и в rx?

Gor
13.12.2017
14:49:02
нене, я за rx топлю)
топи за rx на корутинах)

Nick Senchurin
13.12.2017
14:49:37
воувоу) ладно, как только будет необходимость ) я еще топлевел функции не полностью осилил)

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