
Vitaliy
13.12.2016
21:54:24
Можно и на Java писать, если понимать, как она работает
И не флудить объектами на каждый чих на мобильном как бэ устройстве

Глеб
13.12.2016
21:54:48

Vitaliy
13.12.2016
21:55:03
Вот именно.

Google

Quantum Harmonizer
13.12.2016
21:55:08

Vitaliy
13.12.2016
21:55:13
И язык это в первую очередь инструмент
(да, середина есть, для конкретных задач)

Quantum Harmonizer
13.12.2016
21:55:34
Инлайн лямбд
точно, и в этих же инлайнах бвает полно мёртвого кода

Vitaliy
13.12.2016
21:55:37
Поэтому если ты умеешь его использовать, понимаешь его и знаешь со всех сторон — выбирай и используй
Но обычно на собеседованиях о глубоких знаниях Котлина заявляют люди, которые не знают про автобоксинг в генериках
Умеешь правильно готовить Котлин — пожалуйста. Пиши собственные функции для итерации, форкай компилятор, используй опции.
На C, вопреки расхожему мнению, ты не напишешь быстрый интерфейс. Нужно очень сильно постараться, чтобы таки написать его.


Глеб
13.12.2016
21:59:50
а теперь вернемся к котлину и "модникам". У тебя есть задача написать простое клиентское приложение и совсем негусто опыта. И есть два пути - используешь котлин прям по мануалам с их сайта, а они действительно хороши и наглядны, и получаешь приемлемое приложение, которое стабильно работает на большинстве устройств, или используешь Java, мануалов у тебя весь StackOverflow, но все разные, пишешь тысячи строк кода в каждом файле, половину копипастя, и на выходе у тебя гибрид картофеля и помидоров.

Quantum Harmonizer
13.12.2016
21:59:56

Глеб
13.12.2016
22:00:09
ботва от картофеля, корешки от помидоров

Vitaliy
13.12.2016
22:00:36
Или ты гуглишь, как в Java написать цикл?

Google

Quantum Harmonizer
13.12.2016
22:00:52
а теперь вернемся к котлину и "модникам". У тебя есть задача написать простое клиентское приложение и совсем негусто опыта. И есть два пути - используешь котлин прям по мануалам с их сайта, а они действительно хороши и наглядны, и получаешь приемлемое приложение, которое стабильно работает на большинстве устройств, или используешь Java, мануалов у тебя весь StackOverflow, но все разные, пишешь тысячи строк кода в каждом файле, половину копипастя, и на выходе у тебя гибрид картофеля и помидоров.
Эээ, если негусто опыта, можно писать на JS, например.

Vitaliy
13.12.2016
22:01:26
Мнение про "тысячи" строк кода в корне неверно — я переписывал части проекта на Котлин, потом отказался и вернулся обратно
Разницы в объеме кода сильной не заметил

Quantum Harmonizer
13.12.2016
22:01:37

Глеб
13.12.2016
22:02:13
приходится думать и переписывать, а не копипастить

Quantum Harmonizer
13.12.2016
22:02:34

Vitaliy
13.12.2016
22:03:00
Вот именно что примеров решения задач на Котлине в разы меньше, чем на Java.
А думать, чтобы переписать код, не надо
Там тупо смена синтаксиса
Даже генератор есть под это

Глеб
13.12.2016
22:04:10
Это для тебя не надо. А когда у тебя нет возможности ctrl-c ctrl-v и приходится кусок кода хотя-бы прочесть, это сильно мотивирует

Vitaliy
13.12.2016
22:04:33
И как это избавляет от ботвы?
Чуваки берут примеры циклов с сайта Котлина и натягивают на них ботву с SO на Java

Quantum Harmonizer
13.12.2016
22:04:56
Есть возможность Ctrl+C — Ctrl+V, но не пойму, о чём разговор.

Vitaliy
13.12.2016
22:05:08
Получаем абсолютно то же самое, но на Котлине

Глеб
13.12.2016
22:05:28
сложно сказать, говнокода на котлине я просто _ещё_ не видел. На яве что ни проект на поддержку - то новый экспонат в палату мер и весов плохого кода

Vitaliy
13.12.2016
22:05:29
Я тоже теряю нить, если честно, не очень понимаю аргумент Глеба про ботву
Ну, выше я тебе написал пример с onDraw() =)
А вообще если у тебя и правда 2 года опыта, то ты должен понимать, что говнокодить можно на любом языке

Google

Глеб
13.12.2016
22:06:02
а кастомный onDraw я не видел ни разу :)

Quantum Harmonizer
13.12.2016
22:06:20

Vitaliy
13.12.2016
22:06:21
Я не верю в 2 года опыта, ты уж прости =)
Оно почти везде надо же

Quantum Harmonizer
13.12.2016
22:06:26

Глеб
13.12.2016
22:06:31
прекрасно понимаю, но не понимаю нападок на производительность языка

Vitaliy
13.12.2016
22:06:38
И я писал
Если использовать Котлин по примерам с сайта, производительность будет ниже — речь об этом.
Если разобраться в нем и подстроить — будет чуть ниже.

Quantum Harmonizer
13.12.2016
22:07:17

Глеб
13.12.2016
22:10:51
вот вы прицепились к onDraw. Может, и хороший пример, но мне не встречался. Более того, кроме одного прототипа и пары unit-тестов для серверного API я на котлине ничего и не писал, ибо подавай "язык, на котором кто-угодно сможет взять проект на поддержку"
но из того, что я получил после написания прототипа, сложилось крайне положительное впечатление
и желаемый результат удается получать за меньшее время

Quantum Harmonizer
13.12.2016
22:12:13
конечно, Котлин приятный и замечательный, просто нужно понимать, где он сделает нам печальку
А вот хорошее видео, в том числе про итераторы.
https://www.youtube.com/watch?v=b6zKBZcg5fk

Vitaliy
13.12.2016
22:12:42
В любом методе парсинга такая генерация итераторов будет плохо сказываться на производительности
А по Котлину — попробуй пописать больше, поначалу и я был приятно удивлен

Quantum Harmonizer
13.12.2016
22:19:58
У меня тоже было такое ощущение, но сейчас оно больше иллюзией кажется
Лично для меня дело даже не во времени разработки. Помню, как я в проекте на Java искал, где можно заменить new ArrayList() на Collestions.emptyList(), а где он потом, сцук, мутируется.
И мне не хватало Котлинских (Mutable)List, которые позволяют избавиться от защитного копирования внутри модуля.

Глеб
13.12.2016
22:23:10
Хорошее видео.

Gleb
13.12.2016
22:23:13
Блин, если каждый год все кому не лень будут изобретать по языку для андроида, полнейший бардак начнется.
Джет брэйнс никто не просил - это их отвественность - изобрести новый язык, это с их громких слов - джава - говно. Всем остальным как бы нормально -
вот теперь и бегают в попытке все свои пирожки распродать - деньги вернуть

Google

Gleb
13.12.2016
22:23:58
и главное - идите впаривайте сервер-сайдам - нет блин на андроиде как медом для изобретателей намазано

Глеб
13.12.2016
22:24:22
так для андроида нет альтернативы джаве кроме котлина
потому и налетели

Quantum Harmonizer
13.12.2016
22:24:38
Дык андроид быстрее энтерпрайза развивается.

Глеб
13.12.2016
22:24:59
сервер уже давно можно хоть на JS писать

Gleb
13.12.2016
22:25:00
так для андроида есть альтернатива -
айос

Admin
ERROR: S client not available

Глеб
13.12.2016
22:25:32
с их obj-c?
избави бог от этой богомерзкой дряни

Евгений
13.12.2016
22:25:49
Свифт же

Глеб
13.12.2016
22:26:12
а срачик о производительности свифта в сравнении с obj-c не завезли?

Sergey
13.12.2016
22:26:28
Свифт же
а дадут саппортить проект на obj-c и что тогда?

Quantum Harmonizer
13.12.2016
22:26:39

Евгений
13.12.2016
22:26:39
Не соглашаться)

Gleb
13.12.2016
22:26:43
у них своя платформа - свой язык, и на альтернативы - вроде как не экспериментят - просто не понятно - нафига??? тебе дали сдк, дали язык - пользуйся, изучай

Quantum Harmonizer
13.12.2016
22:27:09

Глеб
13.12.2016
22:27:25
эдак можно было бы до сих пор на C или Fortran'е писать

Google

Quantum Harmonizer
13.12.2016
22:28:27
Что? Есть язык, который эффективнее решает свои задачи? Да и хуй с ним!

Глеб
13.12.2016
22:29:07

Quantum Harmonizer
13.12.2016
22:30:05

Глеб
13.12.2016
22:30:46
а что до производительности котлина - Рим не за один день строился, думаю, допилят они компилятор.

Quantum Harmonizer
13.12.2016
22:30:57
Но, например, { view -> не катит, нужно писать { View view ->
И груви невыносимо медленный в рантайме.

Dim
13.12.2016
22:31:39
Мы столкнулись с Anko. И поняли, что лучше уж в хмлку заглядывать. Ну либо сильно рефакторить код в модули.

Gleb
13.12.2016
22:31:43
Проблема в том что бизнес когда нас нанимает и ротирует - свято верит что мы понимаем друг друга... а мы сами себе альтернативы тем временем придумываем.
70 % вакансий - это саппорт существующих проектов.... вот чем плохи изобретения (лично моё мнение)
Если б каждому давали по проекту с нуля - делай как хочешь - так я тока ЗА "многообразие" подходов, пока оно меня не касается ?

Quantum Harmonizer
13.12.2016
22:33:07

Dim
13.12.2016
22:34:03
Это все красиво конечно, до поры до времени. Сложные штуки я бы все же предпочел на Java + xml делать.
Либо разность, дробить эту анковскую верстку по файлам

Глеб
13.12.2016
22:38:06

Gleb
13.12.2016
22:49:48
что-то как-то по каждому тезису хотелось-бы узнать источник информации.
Нам говорят что хороший разработчик умеет "работать в команде", "быстро может разобраться в чужом коде" - но авторы так сказать альтернативных решений видать не очень горят этим страдать - вот и какая-то глобальная не справедливость.
Если у тебя нет бюджета "изобрести котлин", потому что ява "кривовата" - ковыряйся в том что тебе уже придумали и "изучай, развивайся"
ну эт конечно сильно утрировано, но в общих чертах получается так


Dim
13.12.2016
23:00:35
Народ, кто-нибудь использует RealmRecyclerView? Как его негладко скроллить?
smoothScrollToPosition работает, обычный scrollToPosition нет(