@kotlin_lang

Страница 215 из 982
Михаил
25.06.2017
10:39:00
отсутствие static (при переписывании некоторых моментов на котлин это самая большая боль)

Anton
25.06.2017
10:40:04
top-level функции не спасают?
Наверное имелось ввиду, что обходные пути найти то можно, а вот удобства это не добавляет

Михаил
25.06.2017
10:40:13
top-level функции не спасают?
ну там, где я статики переписывал, там имя класса + имя функции читабельность хорошую дают, так что не спасают

Google
DarkMentat
25.06.2017
10:40:39
ну да, companion objects часто уродливо выглядят

Михаил
25.06.2017
10:41:24
override синим поначалу не нравилось, сейчас привык

раньше по коду с помощью желтых @Override проще было глазами бегать

Dmitry
25.06.2017
10:42:38
а что не так с массивами?
byteArrayOf, doubleArrayOf, intArrayOf, ...

Михаил
25.06.2017
10:43:06
final забыл
если ты о static final, то лично мне это как-то не очень нравилось визуально

Михаил
25.06.2017
10:43:54
Народ, а можно вбросить? Что вам больше всего НЕ нравится в котлине?) Такой себе топ
Лично меня не устраивает тулинг, каждую версию что-нибудь чинят и ломают новое...

На джаве куда удобнее писать только из-за того что там все стабильно работает

Михаил
25.06.2017
10:44:50
Лично меня не устраивает тулинг, каждую версию что-нибудь чинят и ломают новое...
Это потому что ты слишком давно видимо в котлине, у меня вот пока еще с тулингом все норм было

DarkMentat
25.06.2017
10:45:36
public по-умолчанию?

Михаил
25.06.2017
10:46:46
Ну например хопа и в новой версии релизной у меня автоимпорты отломалимь в одном классе, приходилось пару раз студию перезапускать. Мелочи, но на них уходит время, которое вообще не хочется на такое тратить

Google
Жабра
25.06.2017
11:05:43
Наоборот, хорошо что они убрали static.

Шурик
25.06.2017
11:07:31
Михаил
25.06.2017
11:12:31
А чем, интересно, это обусловлено, не знаете?
Я не знаю, но, возможно, потому что нелогично внутри класса иметь функцию, которая этому классу не принадлежит

Жабра
25.06.2017
11:13:55
А так же статик противоречит парадигме ООП. И почти везде можно придумать как обойтись без статика.

Gleb
25.06.2017
11:14:46
Народ, а можно вбросить? Что вам больше всего НЕ нравится в котлине?) Такой себе топ
очень мееедленный плагин (анализ, автокомплит). на современной машине незаметно, но периодечески приходится работать на старом ноуте с кор2дуо. достаточно большой проект на джаве (10к строк, спринг, жпа, полный набор) шевелится еще терпимо, а на котлине даже с 1к строк начинается боль

Михаил
25.06.2017
11:18:32
Alexey
25.06.2017
11:19:12
Ну вообще в котлине есть вещи которые противоречат ооп
ну тут скорее зависит от стиля написания. В java тоже такие вещи имеют место быть.

Quantum Harmonizer
25.06.2017
11:20:38
А чем, интересно, это обусловлено, не знаете?
Статик торчит в те области видимости, в которые не стоило бы.

Quantum Harmonizer
25.06.2017
11:26:14
используя утилитарный класс?
Утил-классы — процедурщина в чистом виде.

Шурик
25.06.2017
11:27:40
и как правило статика ))

Dmitriy
25.06.2017
11:31:21
Утил-классы — процедурщина в чистом виде.
И что вы решили вместо них обычные классы использовать?

Dmitriy
25.06.2017
11:32:02
Нууу

Quantum Harmonizer
25.06.2017
11:32:02
Тоже процедурщина, только не уродливо.

Dmitriy
25.06.2017
11:32:25
В том-то и дело. Самообман)

Контекста не имеем так же

Google
Gleb
25.06.2017
11:36:30
1.1.3?
Да

Konstantin
25.06.2017
11:51:48
Ну вообще в котлине есть вещи которые противоречат ооп
Да котлин чистого ооп нигде и нет сейчас

DY
25.06.2017
12:05:05
Михаил
25.06.2017
12:05:53
File -> Settings -> Editor -> Colors & Fonts -> Kotlin -> Annotation
в котлине override - не аннотация

DY
25.06.2017
12:08:47
в котлине override - не аннотация
а, черт, точно) просто у меня и аннотации были синими из-за Material Theme

Михаил
25.06.2017
12:09:30
а, черт, точно) просто у меня и аннотации были синими из-за Material Theme
у меня тоже аннотации почему-то по дефолту были синими, я их сразу же поменял

Igor
25.06.2017
13:25:23
А можете высказать свое мнение: стоит ли (при условии неплохого знания плюсов и чистого си) начинать изучение не с java а прямиком с kotlin? Знакомому нужен совет, я даже не уверен, что бы стоит сказать

whalemare
25.06.2017
13:28:31
Igor В котлине ничего плохого нет. Он сочетает в себе много парадигм и классных фич из других языков. Особенность его также в том, что он использует JVM, тобишь джаву все равно учить придется так или иначе (структура данных и все вот это), но не синтаксис. Помимо этого еще на нем не очень много вакансий и зарабатывать здесь и сейчас сложно.

Anton ?
25.06.2017
13:30:13
Если начинающий - однозначно java. Как уже сказали выше всё равно придётся с ней работать. К тому же информации и обучающих материалов для java больше.

whalemare
25.06.2017
13:31:22
Что значит не много вакансий?
Буду рад ошибиться, потому что переход на него это топчик

whalemare
25.06.2017
13:31:27
на андроиде, да

Umren
25.06.2017
13:37:13
по джаве книг много толковых

Anton ?
25.06.2017
13:37:14
ага, спасибо, тогда буду советовать для начала жабу
Если что есть чатик для начинающих https://t.me/javastart

whalemare
25.06.2017
13:37:58
ага, спасибо, тогда буду советовать для начала жабу
Если андроид у него профильный будет, то да. Это скорее всего самый правильный вариант Если нет, то я бы на его месте учил котлин в обнимку с книжкой или статьми по джавовским коллекциям

Umren
25.06.2017
13:39:55
если он плюсы знает, то можно и сразу в котлин

зная плюсы можно любой другой язык освоить быстро)

Google
whalemare
25.06.2017
13:41:00
да, скорее всего это так) обычно если хватает сил на плюсы то на все остальное уже смотришь как на деткий сад)

Umren
25.06.2017
13:41:18
угу

Dmitry
25.06.2017
14:05:55
всё-же, минимально знать джаву будет не лишним. например, знать, во что компилится код, почему, когда делаешь switch-case по всем значениям enum-а, надо делать ветку для default, и пр.

Anton
25.06.2017
14:09:46
Да уж свич кейс по енаму самое главное знание в джаве

Dmitry
25.06.2017
14:10:45
это просто пример

Igor
25.06.2017
14:11:24
это просто пример
да мне вот интересно стало почему я впервые слышу об этом? Так ответ - null хэндлить, или там оптимизация какая-то идет?

Dmitry
25.06.2017
14:11:51
в enum можно будет добавить новое значение, при этом сохранится обратная совместимость

Admin
ERROR: S client not available

Igor
25.06.2017
14:12:55
мм... забавно

Dmitry
25.06.2017
14:14:36
"открытость для расширения" из OCP

Vitalii
25.06.2017
14:28:53
А можете высказать свое мнение: стоит ли (при условии неплохого знания плюсов и чистого си) начинать изучение не с java а прямиком с kotlin? Знакомому нужен совет, я даже не уверен, что бы стоит сказать
Со знанием плюсов и котлина, даже если придётся работать с джавой — освоиться можно будет практически моментально, так что я за kotlin. Другое дело, что пока меньше вакансий, и очень много компаний консервативны в выборе языка и пилят на джава, не собираясь переходить. Ну и если захочется пилить не приложухи, а сам фреймворк (а там знание си и плюсов очень кстати), то котлин там не нужен.

Vitalii
25.06.2017
14:32:38
Dmitry
25.06.2017
14:33:31
что угодно

Anton
25.06.2017
14:55:17
Зачем делать switch на enum? :)
Switch - это же по сути замена if. Неважно на чем его делать, если он вносит ясность и добавляет удобства. Так можно дойти "зачем switch, есть else-if" ))

Quantum Harmonizer
25.06.2017
15:03:19
Quantum Harmonizer
25.06.2017
15:06:22
А что такого? Непонятна суть твоего вопроса
Логику можно разместить в самих элементах enum'а.

Google
Vitalii
25.06.2017
15:06:58
Логику можно разместить в самих элементах enum'а.
В зависимости от случая, таким образом можно только уменьшить шансы на то, что код понятным будет.

Anton
25.06.2017
15:07:22
If'у - if'ово, when'у - when'ово

Dmitry
25.06.2017
15:25:02
Логику можно разместить в самих элементах enum'а.
а если enum - часть сторонней библиотеки?

логика в enum-ах - нарушение srp

Igor
25.06.2017
15:50:42
логика в enum-ах - нарушение srp
Это как-то не совсем прослеживается, не могли бы вы пояснить?

Sergey
25.06.2017
16:27:34
Switch кажется вообще антипаттерн

Quantum Harmonizer
25.06.2017
16:36:04
Михаил
25.06.2017
16:37:19
полиморфизм и гора if else

Sergey
25.06.2017
16:40:30
Нет гора if else не решает проблему и это тоже плохо

Вот нашел статью касательно вопроса https://refactoring.guru/ru/replace-conditional-with-polymorphism

Ключевая проблема if else и switch в том что никогда не знаешь сегодня у тебя 3 условия, завтра 4... 10... 110

Михаил
25.06.2017
16:43:28
а проблема в чем?

Sergey
25.06.2017
16:44:42
В том что ты всегда можешь получить огромное количество if else, который плохо читаетсяи допускаются ошибки

Михаил
25.06.2017
16:45:38
поэтому в котлине есть when)

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

Михаил
25.06.2017
16:50:32
error: incompatible types: NonExistentClass cannot be converted to Annotation Откуда может эта ошибка появляться на всех объявлениях даггеровских аннотаций? Причем такое только в версии 1.1.3

Михаил
25.06.2017
16:54:14
посмотри на другие ошибки компиляции

Михаил
25.06.2017
16:54:57
error: incompatible types: NonExistentClass cannot be converted to Annotation Откуда может эта ошибка появляться на всех объявлениях даггеровских аннотаций? Причем такое только в версии 1.1.3
Хм, перешел обратно на версию 1.1.2-3, все норм запустилось, перешел снова на версию 1.1.3, и тоже все норм сбилдилось... Магия...

В проекте ничего не менял, только версию котлина менял

Михаил
25.06.2017
16:55:21
вот и проблемы тулинга)

Михаил
25.06.2017
16:55:25
посмотри на другие ошибки компиляции
Других не было, было только штук 20-30 таких вот

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