@kotlin_lang

Страница 546 из 982
Kirill
16.02.2018
14:24:21
машина состояний, или на тредах?
там дикие, просто ужасно дикие хаки на тредах я никогда не использовал этого монстра, только читал про него

Vitalii
16.02.2018
14:24:29
Отдаю себе отчет в том что это чат по котлину, но интересно мнение прагматиков. Ребят, какие мысли по кложуре?
Сложура красива, лаконична, функциональна и иммутабельна. Она шикарна. Но к сожалению, не так распространена. Хотя и тулинг есть, и язык приятный. Ну и это LISP, а знать LISP — это тоже найс.

Igor
16.02.2018
14:24:42
кстати, а почему, когда я хотел напечатать /thread (телеграм распарсил как команду) у меня удалилось сообщение?
Потому что настроили что бы combot удалял свои команды, а он почему-то удаляет любые команды (вроде как это нельзя поправить)

Google
Vitalii
16.02.2018
14:25:34
ещё минус в том что хороший тулинг — платный
Какой именно? Плагин для студии, leiningen, плагины для всяких стероидных текстовых редакторов, repl — есть бесплатное.

Igor
16.02.2018
14:27:14
ещё минус в том что хороший тулинг — платный
Бесплатный же “в ознакомительных целях/для личного использования” (официально) > https://github.com/puniverse/pulsar а еще есть core.async и там вроде тоже есть каналы и макросы, которые трансформируют в колбеки

Kirill
16.02.2018
14:27:45
Vitalii
16.02.2018
14:28:30
Ну и так-то платный тулинг — не редкость (см. продукты JB, Intel, M$ и т.д.).

Kirill
16.02.2018
14:32:17
вроде как не совсем оффтоп: https://github.com/apple/swift-evolution/blob/master/proposals/0195-dynamic-member-lookup.md (хороший язык и фичи интересные)

Kira
16.02.2018
14:33:46
Медитирую на Грааль и Трюфель, котлин описать на них не пробовали?

Kirill
16.02.2018
14:37:04
А к этому языку нормальный тулинг есть?
https://www.jetbrains.com/objc/features/swift.html :D а если серьёзно, то у XCode всё хорошо с тулингом, насколько я знаю. но сам не использовал

Google
Dmitry
16.02.2018
14:39:35
Давайте подождем тех, кто пробовал. Именно последний, девятый икскод. В частности, отзывов о быстроте сборки проекта.

Badya
16.02.2018
14:41:23
Сообщество, нужно мнение - JOOQ бесплатный не умеет в оракл, но если пошаманить то заводится - воровство ли это?

Kirill
16.02.2018
14:44:56
Оно ж Apache Licensed

так что не воровство

по крайней мере пока из не "apache licensed" не воруешь декомпиленый байткод

Kirill
16.02.2018
14:45:49
Это типа как в KotlinJS? Там же тоже есть какой-то “динами” тип
нет, динамик в kotlin/js просто отключает тайпчекер для обращений к себе. а тут "синтаксический сахар"

Badya
16.02.2018
14:46:48
по крайней мере пока из не "apache licensed" не воруешь декомпиленый байткод
Ну я просто генератор переписал чуток и пересобрал

Kirill
16.02.2018
14:47:35
опенсорцный или проприетарный?

Badya
16.02.2018
14:49:26
опенсорцный или проприетарный?
Генератор JOOQ опенсорсный - апач 2, а оракл драйвер у меня есть от вендора

Kirill
16.02.2018
14:49:55
тогда не воровство)

Igor
16.02.2018
14:55:01
Дык бери плагин к хаскелю и отключай ghc-mod :)
Для меня главное, что бы скомпилированная программа на JVM работала, а еще лучше под Android. А пока единственный способ писать функционально на Android - это Xamarin и F#, там можно прям с активити и всем API работать. (ну еще react-native, но там свои абстракции)

Kirill
16.02.2018
14:55:22
А scala?

Да и eta тоже вроде под ведро работает

Igor
16.02.2018
14:58:42
Да и eta тоже вроде под ведро работает
Я что то не видел живых примеров или даже норм. поддержки в IDE. А в скале даже автокаррирования нет ? (так то я и в котлине могу писать +- “функционально”)

Kirill
16.02.2018
15:01:00
Дык у нас всего 1.5 языка с автокаррированием) В скалке зато частичное применение есть

А для эты я видел где-то были примеры в том числе и под ведро

Во: https://brianmckenna.org/blog/eta_android

Google
Sabbath
16.02.2018
15:07:41
А кто-нить использовал котлин с jaxb? При анмаршалинге возникает ексепшн the markup in the document preceding the root element must be well- formed. Однако если убрать из xml хедер <?xml version...?> - то все работает

Dibro
16.02.2018
15:27:11
нет, динамик в kotlin/js просто отключает тайпчекер для обращений к себе. а тут "синтаксический сахар"
вроде похожая штука у груви есть, можно написать метод def propertyMissing/methodMissing() и он будет вызываться при отсутствии свойства/метода

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

Kirill
16.02.2018
15:30:08
dsl-и стали бы резко красивше это точно

Dibro
16.02.2018
15:34:01
ещё очень хочу фичу, которую здесь обсуждали https://youtrack.jetbrains.com/issue/KT-21329 шикарно для всяких конфигов

Vladimir
16.02.2018
15:51:59
dsl-и стали бы резко красивше это точно
И резко менее типобезопасны. Зачем нужен ещё один Groovy?

Kirill
16.02.2018
15:58:19
Можно ж это ограничить по типу

т.е. fun <T : MyTypeConstraint> magickSetMissingPropFun(name: String, value: T)

Alexey
16.02.2018
16:18:39
У тебя компилятор вообще перестанет тогда понимать, что происходит, да и иде тоже, в виме придётся писать

Nick
16.02.2018
16:27:14
@DslMarker

Victor
16.02.2018
16:46:08
есть же http://arrow-kt.io/docs/datatypes/try/
а кто что скажет по-поводу arrow-kt vs funktionaly? funktionaly уже не релизят?

Igor
16.02.2018
16:47:19
а кто что скажет по-поводу arrow-kt vs funktionaly? funktionaly уже не релизят?
Так его же вмерджили в arrow, те arrow = funktionaly + kategory (хотя и то и то НЕ нужны ?)

Даниил
16.02.2018
16:47:47
а кто что скажет по-поводу arrow-kt vs funktionaly? funktionaly уже не релизят?
funktionale попроще, в arrow эмулируют тайпклассы для функторов, монад, вот этого вот всего, в funktionale этого нет

Victor
16.02.2018
16:48:53
Так его же вмерджили в arrow, те arrow = funktionaly + kategory (хотя и то и то НЕ нужны ?)
я чет даже не нашел kategory репозиторий, видимо это и есть теперь arrow-kt

понятия не имею, зачем они (мне) нужны, но меня почему-то на них тянет ?

на самом https://kotlinlang.org/docs/resources.html видимо не актуализировали до сих пор - ссылка на funktionaly есть, на arrow-kt нет

Google
Igor
16.02.2018
16:53:54
Отдаю себе отчет в том что это чат по котлину, но интересно мнение прагматиков. Ребят, какие мысли по кложуре?
Думаю можно подытожить - “стоит попробовать”, хотя бы для расширения кругозора (ФП/динамическое типизирование). Желательно перед погружением посмотреть доклады Николая Рыжикова, что бы зарядиться кложе-оптимизмом ?

Чому не нужны-то?
- не идиоматично - костыли и палки, без поддержки в языке - не практичные абстракции - да и сам Одерски пропагандирует принцип “Least Power” - "если что-то можно делать без монад, делайте без монад” это даже не ФП - это “хардкорное программироваине на типах” (там даже фри-монады есть)

Alexey
16.02.2018
16:58:49
А то, что в пропозал самому языку предлагается покрывает arrow-kt?
В прапозал ваще какая то дичь, получится такой же костыль

Вот если бы HKT

Igor
16.02.2018
16:59:53
А то, что в пропозал самому языку предлагается покрывает arrow-kt?
Во вчерашнем выступаление Бреслав сказал - что они и так протатипируют “тайп-классы” потому как вещь действительно полезная, но он “всеми руками” против HKT

Anton
16.02.2018
17:00:13
Ага, спасибо, мнения видны. По "попробовать" - попробовал, в принципе здорово. Идеи заложенные в лиспе на самом деле круты. P.s. рыжикова смотрел.

Kirill
16.02.2018
17:00:59
Да без трансформеров ваще жизнь не мила
Кому вообще нужны монадки в котлине? Для монадок в JVM есть скала

Alexey
16.02.2018
17:03:18
Кому вообще нужны монадки в котлине? Для монадок в JVM есть скала
- Кому ваще data class нужны в котлин - Кому ваще sealed class нужны в котлин - Кому вообще нужны рутины в котлин wait a minute... Кому вообще нужен котлин если есть java?

Kirill
16.02.2018
17:03:38
Ну ты преувеличиваешь

Впрочем к датаклассам в таком виде у меня есть вопросы)

Т.е. сейчас на самом деле профит от них только в equals/hashCode/toString

Igor
16.02.2018
17:05:27
- Кому ваще data class нужны в котлин - Кому ваще sealed class нужны в котлин - Кому вообще нужны рутины в котлин wait a minute... Кому вообще нужен котлин если есть java?
Кому вообще нужные монадки, когда есть “алгебраические эффекты”? Вот что стоило попробовать заимплементить в языке.

Alexey
16.02.2018
17:05:28
Например IO очень классно обарачивает все эффекты, удобно и асинронность из коробки

Kirill
16.02.2018
17:05:57
Какие монадки, какие эффекты, вы чего?)

Google
Igor
16.02.2018
17:07:36
Его ж позиционируют как ИНЖЕНЕРНЫЙ ЯП и противопоставляют сложности скалки
Вот именно что они простые и не требуют монадок в языке и позволяют писать “императивный” код (это то что я видел в доти)

Alexey
16.02.2018
17:09:30
Его ж позиционируют как ИНЖЕНЕРНЫЙ ЯП и противопоставляют сложности скалки
Чего ради тогда есть пропосал о тайп классах, который на полном серьёзе обсуждается?

Igor
16.02.2018
17:10:39
Например IO очень классно обарачивает все эффекты, удобно и асинронность из коробки
В тех же котах, IO это по сути просто ленивая фьюча (+ плюс операторы чаейнинга из тайпклассов). Ты когда пишешь на suspend, у тебя почти та же фьюча + scala фор компрехенс - прямо в языке.

Kirill
16.02.2018
17:12:28
Вот именно что они простые и не требуют монадок в языке и позволяют писать “императивный” код (это то что я видел в доти)
Так то и в codo можно ООП писать, но это ж не значит что кто-то кроме пары ФПшников это поймёт

Alexey
16.02.2018
17:13:12
Тайпклассы это не только про монадки
А это вообще не про монадки, а про полиморфизм

Kirill
16.02.2018
17:13:18
Вот

Сам ответил на свой вопрос)

Alexey
16.02.2018
17:13:48
Просто ты говоришь про инженерный яп и отсутсвие сложностей

Kirill
16.02.2018
17:14:03
А с чего вдруг тайпклассы это сложности?

Alexey
16.02.2018
17:14:10
На кой если полиморфизм и так есть из коробки

Igor
16.02.2018
17:14:17
Кстати насчет “инженерных языков”, даже в C# хотят сделать тайпклассы - так что это тренд

Kirill
16.02.2018
17:14:40
На кой если полиморфизм и так есть из коробки
Оно просто выглядит логическим продолжением экстеншн функций

Kirill
16.02.2018
17:16:59
ну тип

расширение типа

Nikita
16.02.2018
17:17:22
Подскажите пожалуйста в Java есть класс А наследуется от B который имплементит интерфейсы С и D, в котлине хочу в generic который должен имплеменить итерфейсы С и D засугуть класс A, но он ругается мол не реализует интерфейс С, как разрешить этот конфликт?

Kirill
16.02.2018
17:17:43
расширение типа
группированое

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