@kotlin_lang

Страница 896 из 982
Anton
27.09.2018
15:47:54
так в самом дсл синтаксисе магии то и нет. у меня лично проблемы с автокомплитами/типами

Marat
27.09.2018
15:48:31
а в чем проблема писать на чём удобно?)

Anton
27.09.2018
15:49:02
в том что это пока нестабильно работает)

Google
Marat
27.09.2018
15:49:30
ну раз не стабильно работает, то играйся дома, нефиг такое тащить на работу

Anton
27.09.2018
15:50:13
тоесть дома будешьь писать пет проджекты пару часов в день на том что удобно а потом приходить и 10 часов ковырятся в том что неудобно?)

Marat
27.09.2018
15:50:14
я начал разбираться с GKD, для меня он такая же магия как грувёвый)

на работе у меня maven простой как рельсы, а дома балуюсь с gradle)

Marat
27.09.2018
15:51:41
везде магия, код - это магия
скорее недостаток знания

Sergey
27.09.2018
16:08:41
а сам котлин собирается на kts)

Руслан
27.09.2018
16:41:54


Bogdan
27.09.2018
16:52:53
О видно что прогрес, я видел ужас

Andrew
27.09.2018
17:02:18
Я бы посмотрел щас на грувиста, который согласился бы с тем, что tasks.withType<KotlinCompile>.all { выглядит красивее, чем compileKotlin { :D (но понятнее, конечно же, так что ИМО всё равно плюс)

Andrey
27.09.2018
17:05:18
Нет, я не пойму этого хайпа))
Да нет никакого хайпа. Просто статически типизированные языки удобнее в принципе, так как: 1. Они отсекают целые классы ошибок, связанных с несовместимостью типов. В динамически типизированных (python, groovy и т.п.) ошибки несовместимости типов никуда не деваются, просто ловятся они в рантайме, в неожиданных местах, и в некоторых случаях, когда некорректный по типам код вызывается. 2. Статически типизированные языки гораздо лучше анализируются IDE, в результате в предлагаемых автодополнениях гораздо меньше нерелевантных вариантов => меньше шанса сделать ошибку, выбрав не то.

Bogdan
27.09.2018
17:05:26
а вот вопрос, в gradle есть 2-е возможности добавлять плагины, в этом примере который ? (apply plugin: 'name' ?)

Google
Andrey
27.09.2018
17:05:52
Как результат: меньше шансов на ошибку => меньше ошибок => дешевле поддержка и баг фикс

Andrey
27.09.2018
17:08:16
Вся статическая типизация про то, чтобы побольше понаставить дубинок (ограничений), которыми программист сразу по рукам получит, если уж совсем не то делает.

Руслан
27.09.2018
17:08:21
Я бы посмотрел щас на грувиста, который согласился бы с тем, что tasks.withType<KotlinCompile>.all { выглядит красивее, чем compileKotlin { :D (но понятнее, конечно же, так что ИМО всё равно плюс)
Тут понятно откуда растет этот compileKotlin, можно сразу понять что происходит. Тоже самое с mainClassName. Вот смотришь ты на билд, и не знаешь что делает application плагин, как понять новичку зачем и откуда mainClassName?



Nameless
27.09.2018
17:14:49
Ну это субъективно. Я сколько не говорил это javascript программистам, они в корне не согласны
да бывает, а потом наблюдаешь как человек 10 минут пытается понять что функция возвращает и когда

Andrew
27.09.2018
17:15:03
Ну это субъективно. Я сколько не говорил это javascript программистам, они в корне не согласны
Немалое количество джаваскриптеров кроме категории "хайпово" / "не хайпово" оценивать больше ничем не могут, потому с ними нередко без толку технологии обсуждать. :)

Igor
27.09.2018
17:15:48
Как результат: меньше шансов на ошибку => меньше ошибок => дешевле поддержка и баг фикс
Было же исследование, что в проектах на динамических языках было меньше багов (там в кложе/питоне).

Andrey
27.09.2018
17:16:12
Ну это субъективно. Я сколько не говорил это javascript программистам, они в корне не согласны
То-то они в проект всякие Lint, TypeScript и прочее тащат. Специально, чтоб типы не проверять.

Andrey
27.09.2018
17:16:20
Я вот видел статью на хабре, где народ на Haskell перешёл, так как надоело питоновские баги отлавливать.

Igor
27.09.2018
17:18:59
Ссылку на исследование
https://www.i-programmer.info/news/98-languages/11184-which-languages-are-bug-prone.html

Andrew
27.09.2018
17:20:34
https://www.i-programmer.info/news/98-languages/11184-which-languages-are-bug-prone.html
Они баги считали по числу коммитов с фиксами, да ещё и по комментам к коммиту типы багов прикидывали? O_o

Mikhail
27.09.2018
17:20:50
ну а как еще?

Vladimir
27.09.2018
17:23:50
Ну и можно еще сразу на Gradle Kotlin DSL перейти попробовать https://guides.gradle.org/migrating-build-logic-from-groovy-to-kotlin/
Если так сделать, вероятно, будет гореть не только ноут. 2 раза пытался втащить это в проект, но в итоге переписывал на груви. Теперь жду релиза, а там будет и 3-я попытка)

Mikhail
27.09.2018
17:24:35
Было же исследование, что в проектах на динамических языках было меньше багов (там в кложе/питоне).
вот только в конце статьи саммари противоположное тому что ты сказал?

Google
Andrey
27.09.2018
17:24:36
https://www.i-programmer.info/news/98-languages/11184-which-languages-are-bug-prone.html
Ок, только судя по исследованию, чем строже система типов и декларативнее язык, тем меньше багов.

The data indicates that functional languages are better than procedural languages; it suggests that disallowing implicit type conversion is better than allowing it; that static typing is better than dynamic; and that managed memory usage is better than unmanaged. ФП лучше процедурного программирования, неявное преобразование типов хуже явного, статическа типизация лучше динамической, автоматическое управление памятью лучше ручного.

Sergey
27.09.2018
17:35:34
стат типизация с выводом типов и где компилятор сам все догадывается - идеально

TypeScript не от хорошей жизни на фронте появился

Andrey
27.09.2018
17:36:04
Оно там размытое, стат. типизация исправляет костыли процедурно-ооп-языков ? Одно можно сказать - в ФП ошибок не гораздо меньше.
процедурное программирование очень далеко от ООП. Вы сравниваете достаточно низкоуровневую парадигму с парадигмой, которая расширяет ФП.

Vladimir
27.09.2018
17:36:24
стат типизация с выводом типов и где компилятор сам все догадывается - идеально
А программисту, читающему код, тоже все типы выводить?

Igor
27.09.2018
17:37:28
А программисту, читающему код, тоже все типы выводить?
Да зачем вообще читать дальше сигнатур функций?.. Скомпилировалось - значит работает.

Nameless
27.09.2018
17:37:42
> Было же исследование, что в проектах на динамических языках было меньше багов (там в кложе/питоне). найс исследование, а потом еще неверное цитирование выводов

Andrey
27.09.2018
17:37:44
А программисту, читающему код, тоже все типы выводить?
То, что язык выводит типы не мешает программисту их явно прописать, где важно. Плюс, статический вывод типов означает, что анализатор IDE всегда знает что и какого типа у вас и всегда подсказать может.

Nameless
27.09.2018
17:38:11
— Правда ли, что шахматист Петросян выиграл в лотерею тысячу рублей? — Правда, только не шахматист Петросян, а футболист «Арарата» Акопян, и не тысячу, а десять тысяч, и не рублей, а долларов, и не в лотерею, а в карты, и не выиграл, а проиграл.

Vladimir
27.09.2018
17:38:22
IDE подсказывать умеет
Скоро IDE за программиста думать будет)

Igor
27.09.2018
17:38:56
> Было же исследование, что в проектах на динамических языках было меньше багов (там в кложе/питоне). найс исследование, а потом еще неверное цитирование выводов
Это же исследование, а выводы делать уже нам ? А вывод - в том что стат. типизация, не гарантирует код без багов (в мейнстрим языках).

Nameless
27.09.2018
17:39:04
IDE подсказывать умеет
в питоне ничего не подскажет, в сигнатурах функций возвращаемые типы не объявлены (да и вообще что то вернется не гарантируется)

Andrey
27.09.2018
17:39:38
Скоро IDE за программиста думать будет)
Не думать, а выполнять рутинную автоматизируемую работу, позволяя сосредоточиться как-раз на думанье, а не на низкоуровневых командах компьютеру.

Google
Sergey
27.09.2018
17:39:39
Nameless
27.09.2018
17:39:44
питон у нас статическим стал?
сорян я думал что ты про то что в джаваскриптах\питонах подскажет

Скоро IDE за программиста думать будет)
за меня идея много думает

греет проц знатно

особено когда на котлине пишешь

Andrey
27.09.2018
17:40:18
тайные поклонники VIM?)
У VIM тоже есть плагины с анализом синтаксиса и автодополнениями.

Sergey
27.09.2018
17:40:26
сорян я думал что ты про то что в джаваскриптах\питонах подскажет
я про котлин. что от разработчика типы прописывать нужно минимально и в основном только в сигнатурах функций. все остальное компилятор сам сделает. и это отлично

Aleh
27.09.2018
17:40:36
тайные поклонники VIM?)
Vim норм умеет в lang server

Admin
ERROR: S client not available

Sergey
27.09.2018
17:40:36
Vladimir
27.09.2018
17:40:37
тайные поклонники VIM?)
Нет, но должна быть возможность хотя бы прочитать и понять код без IDE Про написать я не говорю, это уже сейчас тяжело

Sergey
27.09.2018
17:41:03
Nameless
27.09.2018
17:41:33
i9?)
ды не i5 4460 и i7 4xxx, после котлина начинаешь писать на джаве все так сразу резко становится и четко, но конечно не сахарно:(

Andrey
27.09.2018
17:41:56
Нет, но должна быть возможность хотя бы прочитать и понять код без IDE Про написать я не говорю, это уже сейчас тяжело
Ок. В статически типизированном языке у тебя без IDE есть хотя бы возможность прикинуть, что за типы будут, если систему типов понимаешь. В динамически типизированном ответ на вопрос о совместимости типов - хз, рантайм покажет.

Nameless
27.09.2018
17:42:29
не замечал таких проблем. наверное что-то делается не так)
а что за проц у тебя? у меня отзывчивость при написании котлина куда хуже

Sergey
27.09.2018
17:43:33
2.7 GHz Intel Core i7, сижу на EAP

Nameless
27.09.2018
17:44:09
2.7 GHz Intel Core i7, сижу на EAP
какое поколение?

я в андроид студии canary в основном

Sergey
27.09.2018
17:44:55
я думаю это не сильно важно) скорее важно размер проекта, кол-во библиотек подключенных и тд

Google
Nameless
27.09.2018
17:45:22
я думаю это не сильно важно) скорее важно размер проекта, кол-во библиотек подключенных и тд
ну такое, там производительность в два раза отличается между 1 и 8 поколениями вроде

ну а если ноутбучная модификация то темболее будет слабее

Руслан
27.09.2018
17:46:09
какое поколение?
i7-6700HQ вообще никаких проблем нету. Могу 10 проектов от реально больших до с десятком классов открыть одновременно.

Sergey
27.09.2018
17:46:17
kaby lake если память не изменяет, прошка 2017года

Nameless
27.09.2018
17:46:28
ну это да, посвежее чем у меня

вот бы в fps ометр в идею встроить

и мериться

Sergey
27.09.2018
17:47:08
я в ktor сорсах немного тусил, и их тесты гонял. без проблем

НО скажу так что на динамических языках IDE куда больше тупит?

Руслан
27.09.2018
17:48:23
Andrey
27.09.2018
17:52:43
Ну таки, тесты никто не отменял (даже в хаскеле)
А, ну да. Тесты же должны покрывать, что ты вместо списка вдруг слона передал, конечно же.

Даёшь в разы больше тестов без уверенности в корректности.

Igor
27.09.2018
17:53:14
Ну так 99% код-кавередж это идел

Sergey
27.09.2018
17:53:16
или вместо списка слонов, список хрен пойми чего)

Andrey
27.09.2018
17:54:17
Ну так 99% код-кавередж это идел
100% покрытие ничего не даст. Всё работает отлично для любых списков, множеств, строк. На слонах вот валится, но кто же на них додумался проверить?

Sergey
27.09.2018
17:54:39
в общем немного странное обсуждение в котлин чатике?

Andrey
27.09.2018
17:54:47
Их же даже в логике алгоритма нету нигде.

Andrey
27.09.2018
17:55:30
Ну так программы это же не магия, откуда слонам то взяться?
Снаружи прилетело. Из библиотеки, которую писали не вы.

Vladimir
27.09.2018
17:56:11
пока с этим проблем не было. и как тебе помогут тут прописанные типы явно?
В котлине то, что доступно в области видимости какой-нибудь лямбды, иногда не совсем очевидно

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