Антон Архипов - Мои любимые возможности в Kotlin

-
В Kotlin много разных возможностей: расширения, вывод типов, лямбды с ресивером, функциональные типы - имя им легион! Многие из этих возможностей делают жизнь программиста сильно проще. Но есть и субъективное мнение, что некоторые из этих возможностей могут доставлять головную боль.
В этом докладе Антон рассмотрит избранные возможности Kotlin и с максимальной непредвзятостью оценит их полезность и элегантность. За 45 минут, в блиц-формате, мы посмотрим на разные особенности Kotlin, включая синтаксический сахар, библиотеки, и даже некоторые моменты в дизайне языка.
Доклад будет особенно полезен Java-разработчикам, которые рассматривают переход на Kotlin в своих проектах.
Скачать презентацию: downloads.ctfassets.net/oxjq4...

Пікірлер: 12

  • @kalashnikofsergey7064
    @kalashnikofsergey70642 жыл бұрын

    Пойду работать в JetBrains....

  • @konstantinchvilyov9602
    @konstantinchvilyov96025 ай бұрын

    sealed [siːld] запечатанный

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil Жыл бұрын

    Спасибо

  • @dmitriykhalturin4918
    @dmitriykhalturin49182 жыл бұрын

    (12:50) рили? Лучше воспринимается? После ваших сокращений, лично у меня, одни вопросы - о том что же делает программа. Пэкадж как раз тем и хорош, что можно разбить всё так, что понимание складывается ещё до чтения кода. Предлагаю писать всё в одном файле и именовать его - сделай_мне_приятно. (16:18) если я правильно помню, то в джаве оверрайдится метод toString тогда в консоль будет выдаваться что надо. Но я ни разу не джава синьор или что то там. Что за парашу вы наснимали? Не буду тратить время.

  • @AntonArhipov

    @AntonArhipov

    Жыл бұрын

    Про первое: речь шла о пустых пакетах которые не несут смысловую нагрузку Про второе: в данном примере было поставлено условие, что заоверрайдить toString нельзя по скольку нет возможности изменить код. Можно прибегнуть к наследованию и написать toString для потомка и это решить задачу - тоже вариант. Не стоит так буквально реагировать.

  • @user-zr9zv6jr6w

    @user-zr9zv6jr6w

    Жыл бұрын

    ​@@AntonArhipov 23:14 на вопрос вы ответили "нет", т.е. функция-расширение, объявленная для предка, НЕ появится у потомка. сделал пример: open class A class B : A() fun A.doSmth() {} fun main() { val b = B() b.doSmth() //

  • @AntonArhipov

    @AntonArhipov

    Жыл бұрын

    @@user-zr9zv6jr6w Привет. Это я неправильно ответил на вопрос - позор на мои седины

  • @konstantinchvilyov9602
    @konstantinchvilyov96025 ай бұрын

    receiver [rɪˈsiːvə] приёмник, получатель

  • @konstantinchvilyov9602
    @konstantinchvilyov96025 ай бұрын

    resolve [rɪˈzɒlv] разрешить, разрешение, уладить, улаживание, урегулировать, урегулирование

  • @konstantinchvilyov9602
    @konstantinchvilyov96025 ай бұрын

    ternary [ˈtɜːnərɪ] - тройной

  • @rndofpipowe

    @rndofpipowe

    Ай бұрын

    Фу, какой душный :)))

  • @konstantinchvilyov9602

    @konstantinchvilyov9602

    Ай бұрын

    @@rndofpipowe Спасибо! :)))

Келесі