Мені теж цікаво. Бо весь мій досвід каже, що в kotlinа швидкість має бути така ж, що і у джави.
Хоч сам обожнюю Котлін, але стаття справила враження, наче єдина причина причина крутості котліна, що можна «;» не писати. Так що трохи прокоментую і поділюсь своїми міслями.
Kotlin на 100% совместим с Java
Про подібне каже будь-яка JVM-мова. Але котлін на цьому полі їх всіх б’є, хоча б тому, що повністю використовє JVM екосистему і бібліотеку. Білдимся в градлі, пишем в ідеї, MutableList<t> — це той же джавовський List<t> (привіт, скала!), можна дуже зручно використовувати джавовські методи й класи і навпаки.
Это ж на сколько время-то экономится?!?!
Імхо, на те, щоб написати дата-клас котліна чи тицьнути на Alt+Ins і згенерувати геттери/сеттери потрібно одинаково часу. І взагалі, для мови швидкість набору — один з останніх критеріїв, на які варти дивитись.
двинуть мышление в сторону Functional Programming(FP)
Kotlin — це в першу чергу better java. Значно better, за що я його й люблю. Але функціональщиной там і не пахне. Так, є лямбди, є map/filter/reduce колекцій, є деяка іммутабельність, як і в інших імеративних мовах, типу джави чи C#. Ніяких монад-трансформерів чи аплікативів х)
И, главное, что на выходе я получаю максимально оптимизированный java-код
На виході такий же байткод, як і після джави, +/-. Так що переїзд на Котлін в n раз код не оптимізує (хіба що він вміє інлайнити лямбди, тобто може бути профіт за рахунок того, що позбудемось від створення анонімних класів).
Основний профіт в тому, що котлін лагодить дуже багато дуже дрібних недоліків джави і в той же час не спонукає програміста писати нечитаємий функціональний бреінфак, писати spaceship operator <|*|> і залишається зрозумілим для Java-розробника. І null-safety, хоч і не рятує, але дуже допомогає.
kapt досить сирий, так що якщо у вас Dagger + Databinding + чуток дженериків — астанавітісь.
для spring-boot проектів заходить навіть краще, ніж для android.
Вітаю!
Шукаю full-time Junior Android developer.
Резюме: drive.google.com/...
E-mail: [email protected]
І линулась маса негативних відкугів в стилі «я русскоязычный, не заставляйте меня переходить[...]». Вас ніхто чіпати не збирається. Тема, в першу чергу, розрахована на тих, хто хоче сам перейти з рос на укр і на тих, хто несвідомо перейшов з укр на рос і хоче якось розібратись «кто виноват и что делать».
Сам я киянин, україномовний, на російську переходити ніхто не заставляв, але основне недомашнє середовище було(та і є) російськомовне. Сам я лінивий, англійською щось читаю тільки коли немає перекладів на укр/рос. З часом, процес гуглення українською мозок почав сприймати як справу абсолютно безнадійну. Починати спілкування, при відсутності якихось підказок, починав російською, як більш поширеною і зрозумілою.
Результат:
Під кінець школи «на ззовні» почав спілкуватися російською.
Десь на
Десь на
Добрий знайомий, який вдома спілкується українською, на ззовні спілкується виключно російською (в тому числі зі мною).
Інша знайома намагалась почати(чи продовжити) спілкуватись українською, не витримала і за місяць повернулась до російської.
Сам я намагався спілкуватись українською декілька днів — час від часу «просинався» і ловив себе на черговій російській фразі.
Коли щось пишу чи до когось звертаюсь, я серйозно задумуюсь, десь з хвилину, якою мовою говорить.
Менш конформістські люди, звичайно, продовжують спілкуватись українською, але ситуація проблемна — це факт.
Мне тоже письмо не пришло.
Поделюсь своими мислями:
В общем очевидно, что чем больше, тем лучше, а из неочевидных вещей:
— ssd маст хэв, gradle часто упирается в диск во время сборке. Но можно и не 256 ГБ, у меня убунта вместе со студией, идеей, разными sdk и всякой всячиной влезает на 30Гб.
— обрати внимание, что бы была апаратная виртуализация. Нужна для эмулятора. Он не часто нужен, но иногда бывает нужен. С ней эмулятор конфетка, без нее — тормознутая дурь. У меня amdшный камень, но без этого дела и в таком случае эмулятор — ад.
— память наше все, градл, студия, идея, жрут ее очень много. Но 8Гб чаще всего должно хватать. Главное обрати внимание, что бы потом можно было еще планку добавить.