Evgenii
AndroidStudio canary 14 ставил кто уже? У меня студия перестала понимать наследование в котлин файлах. Есть позитивный опыт?
Igor
Наpод, а сколько по вpемени занимает внедpение instant apps?
Evgenii
Наpод, а сколько по вpемени занимает внедpение instant apps?
Сильно зависит от текущего приложения и архитектуры. Если проект небольшой или модульный, то за пару часов сделать можно. Но практика показывает, что нужно очень много рефакторить.
Igor
Вpоде пpоект маленький (~20 activity), написан плюс-минус по clean.
german
стоит переходить на котлин?
german
почему?
Gregory
потому что это более выразительный язык, позволяющий писать менее понятный код
Gregory
а ещё там не надо ставить ; в конце каждой строки, я такие языки не могу воспринимать всерьёз
german
это всё субъективно
Gregory
как думаете, имеет смысл ставить бету на основной телефон?
Дмитрий
потому что это более выразительный язык, позволяющий писать менее понятный код
Это если не пытаться разобраться, то кажется непонятно. Я третий месяц на котлине и думаю как я раньше без него жил? И ставить ";" кажется уже лишним. Раньше в котлине постоянно ставил, теперь когда на яву перехожу постоянно забываю
Gregory
для меня все эти эрыксы-котлины-даггеры выглядят как решения проблем, которых ни у кого никогда не было
Arsen
а ещё там не надо ставить ; в конце каждой строки, я такие языки не могу воспринимать всерьёз
Не могу воспринимать всерьез людей, которые пишут предложения с маленкьой буквы и не ставят в конце точку. 😃
Vladimir
так а какие преимущества перед джавой-то?
Миллионы статей уже исписаны на эту тему )
Дмитрий
Дмитрий
экстеншн функции
Gregory
Миллионы статей уже исписаны на эту тему )
Они все исходят из того, что меньший объём кода — это безусловное преимущество.
Дмитрий
меньше кода это да.
Gregory
Зачем писать меньше кода, когда можно писать понятный код?)
Gregory
ну например отсутствие NPE
Да как-то вот я не уверен в этом
Дмитрий
что непонятного?
Gregory
экстеншн функции
Это ухудшает читаемость кода
Gregory
var context = Context()
Так, и что это даёт?
Arsen
понятный (избыточный)
Gregory
чем именно это лучше, чем Context context=new Context();?
Vladimir
А это уже от тебя зависит, на сколько понятно ты будешь писать
Дмитрий
Context context = new Context();
Gregory
Толсто
нет, это не троллинг, мне реально интересно
Gregory
я на полном серьёзе это спрашиваю
Проксимов
нет, это не троллинг, мне реально интересно
Сокращается длина кода, при этом читаемость не ухудшается, не?
Дмитрий
Это как пример того что кода меньше
Gregory
что от этого выигрывается?
Arsen
взять те же дата классы
Дмитрий
а зачем сокращать длину кода?
Для того что бы быстрее писать и удобнее читать
Проксимов
+ удобней в коде разбираться
Gregory
Для того что бы быстрее писать и удобнее читать
ага, а если у тебя конструкция вида var something=methodThatReturnsSomething(); то очень, наверное, удобно понимать, какой там тип будет у этой переменной, если ты не видишь определение этого метода, а ты его не видишь, если смотришь на этот код вне IDE
Дмитрий
Если вы в Java будете все переменные и классы финальными сразу делать, то тоже можно NPE избежать. Но в котлине можно сказать заставляют это делать
Vladimir
С другой стороны зайдём ) Кто то знает людей, кто начал писать на Котлин, а потом вернулся на жабу?)
Igor
стоит переходить на котлин?
Да, но только как пpомежуточный этап для скалы :3
Igor
как думаете, имеет смысл ставить бету на основной телефон?
Я на 4.4.2 гоняю на планшете, и мне pешительно нpавится. Новые пpошивки не понимаю ни в какую
Anton
С другой стороны зайдём ) Кто то знает людей, кто начал писать на Котлин, а потом вернулся на жабу?)
Знаю одного, но он в принципе разработчик не очень и на джаве ему просто привычнее
Gregory
foo?.let{}
так, и? вот чем это лучше проверки на null?
Anton
так, и? вот чем это лучше проверки на null?
Захват переменной Замыканием
Gregory
Захват переменной Замыканием
а можно в терминах джавы, что это даёт?
Vladimir
так, и? вот чем это лучше проверки на null?
Это болен читаемо, иак же как и не надо хреначит телескоп конструкторы
Anton
а можно в терминах джавы, что это даёт?
Это примерно как анонимные классы в джаве
Igor
А еще в котлине фоpмализована nullability, что ИМХО гуд, хоть и бесит иногда. e.g. var x: Int? = 1 // somewhere else if (x != null) { var y = x // NELZIA } var x: Int? = 1 //somewhere else val localX = x if (localX != null) { var y: Int = localX // mozhno }
Gregory
Это примерно как анонимные классы в джаве
так, а если это как анонимные классы, то зачем заменять анонимные классы на это?
Anton
Это в терминах джавы
Igor
так, и? вот чем это лучше проверки на null?
безопасность, см мой пpимеp.
Anton
Это не анонимные классы
Vladimir
Ну на вкус и цвет фломастеры разные ))
Anton
Это захват переменной, чтобы она не меняла значение
Igor
это как обход необходимости final через массив из одного элемента, видимо
На уpовне синтаксиса. Мне такое по душе. Чем больше фоpмализации в языке и огpаничений, тем меньше шанс наpваться на идиотские ошибки коллег.
Gregory
Это захват переменной, чтобы она не меняла значение
эм, ок, а скопировать её в локальную переменную вообще никак?
Gregory
вот тот же final
Igor
Я в java можно
Anton
Ты можешь найти ещё тысячу вариантов решения твоего кейса
Anton
Никто же не против