Сравнение Kotlin и Java in back-end development | Сергей Немчинский | Антон Гусев

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ต.ค. 2024

ความคิดเห็น • 36

  • @AntonArhipov
    @AntonArhipov หลายเดือนก่อน +1

    24:42 есть более идиоматичный синтаксис вынимания значения из мапы по ключу, вместо map.get(4), можно было написать map[4]
    35:16 один код под все платформы можно написать и скомпилировать. Просто этого в реальной жизни недостаточно и надо уметь взаимодействовать с целефой платформой, особенно это касается мобильных устройств.
    36:49 data class-ы и record-ы не совсем одно и то же. У них разные цели и семантика, не смотря на то, что синтаксичеки они очень похожи
    44:34 - перегрузка операторов к Kotlin не такая же как в С++. Можно перегружать только определённый набор операторов, и нельзя добавлять новые.
    57:11 - "Андроид это маленькие приложения" - Сергей намешил :)) Нормальные приложения для Android, то же WhatsApp, например, огромны с огромным количеством строк кода. Kotlin вынес Java на Andoid прежде всего изза лямбд - Android-разработчики устали страдать без новых языковых возможностей тк Java не обновлялась на Andoid достаточно быстро. А Kotlin со всем предлагаемым синтаксическим сахаром изначально компилировался под Java 1.6. Где Java 1.6 и где лямбды - 10 лет разницы.
    57:58 когда я слышу что кто-то переводит большой проект на Java 1 к 1му на Kotlin, я всегда сильно удивлён. Скорее всего, всё таки такой переед сопровождается изменением архитектуры или стека, а может быть и целых команд разработки. Например, Jira (которая была отдельным приложением) была переписана на Kotlin при переезде в облако.
    1:00:18 разработчики на Kotlin не стоят больше, чем на Java. Другое дело, что Kotlin может использоваться как HR-инструмент для привлечения Java-разрабочиков на перегретом рынке, когда компания не может ничем больше этих разработчиков привлечь
    1:07:02 - Groovy, Fantom, Ceylon, Gosu, Clojure, Xtend, Scala - имя им легион :) Понятно почему Сергей проводит эту параллель, но всё таки везде были свои нюансы и с Kotlin вышла сильно другая история.
    1:22:32 - Kotlin предоставляет возможность работать с null и это фича на уровне компилятора. Но это же не серебрянная пуля. Даже если вы перейдёте на Kotlin-фреймворки, проблема с null не исчезнет полностью хотя бы потому что приложение общается с внешним миром, например получает данные из БД - от туда сколько угодно нулей может придти и компилятор этого не заметит. Возможность проверки на nullable тип в сочетании с удобными синтаксическими конструкциями просто снижает возможность получить NPE, но не исключает его полностью.

1:23:38 Ktor - это не замена Spring. Это даже не фреймворк. Это набор библиотек для разработки HTTP приложений и он не предлагает "всё из коробки".

  • @MrDexis01
    @MrDexis01 7 หลายเดือนก่อน +2

    Антон привет! Учился у тебя, учил джаву, сейчас перешел на котлин. 😊

  • @arty8461
    @arty8461 7 หลายเดือนก่อน +13

    у всех, даже суперкрутых программистов обзорщиков есть одна общая наивная ошибка, это показ кода в микроскопическом формате при котором не то что на планшете не разглядеть и что уже не говорить о телефонах... Почему такой страх увеличить масштаб кода, ведь там пол экрана пусто? или вы транслируете только для тех кто смотрит вас на телевизорах с двухметровыми диаметрами???? аж бесит

    • @artemmm095
      @artemmm095 7 หลายเดือนก่อน +4

      У многих комментаторов, даже тех которые считают себя суперкрутыми экспертами, есть одна общая ошибка - вести себя по-хамски и вечно что-то предъявлять вместо того, чтоб спокойно и культурно объяснить

    • @pavel6398
      @pavel6398 7 หลายเดือนก่อน

      Диагональю*

    • @qwertyuseradmin
      @qwertyuseradmin 7 หลายเดือนก่อน

      ​@@artemmm095 и где нахамил автор этого комментария? Где написал риторический вопрос про 80" телевизор? 🤡

    • @nikulin_vrn
      @nikulin_vrn 5 หลายเดือนก่อน +1

      С одной стороны, претензия имеет место быть: тем, кто хочет посмотреть с телефона - некомфортно. С другой - ряд контр-аргументов:
      1. Контент делается для тех, кто его хочет смотреть. Всё. Не нравится - никто не принуждает.
      2. Всё, что связано с кодом лучше смотреть в рамках ПК, т.к. можно сразу поиграться в IDEA, посмотреть на адекватность тезисов, сделать заметки и т.п. Всё таки это не на 100% развлекуха, технический уклон материала как-будто намекает на некоторый перекос в сторону полезности.
      Ну, в целом это так: на вентилятор набросить и попытаться по-уворачиваться 😀Всем добра!

  • @ITisonline
    @ITisonline 7 หลายเดือนก่อน +1

    Kotlin был создан Питерскими ребятам, назван в честь острова Котлин рядом с Питером.

  • @zhennik263
    @zhennik263 7 หลายเดือนก่อน +2

    Обьясните пожалуйста, какая разница на сколько долго писать код? На всех проектах ты думаешь и ходишь на миты 7 часов в день, а пишешь прям пишешь код 1 час от силы хорошо если.

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 7 หลายเดือนก่อน

      Писать, да. Но потом ещё же читать его неоднократно

    • @zhennik263
      @zhennik263 7 หลายเดือนก่อน

      @@Das.Kleine.Krokodil ну так и как было сказано Java читается на много проще. Даже когда там появляются var гребанные- сразу виден след индусов

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 7 หลายเดือนก่อน

      @@zhennik263когда ты регулярно пишешь на котлине, то он читается отлично, нет никаких проблем

  • @sergiyscherban219
    @sergiyscherban219 7 หลายเดือนก่อน +1

    На стрімі розповідали що якщо декомпілювати код скомпільований з котліна то важко зрозуміти що він робить. А як виглядає пошук помилок типу OutOfMemoryException на jvm де виконується програма, яка зкомпільована з kotlin? Чи можна легко зрозуміти об'єкти яких класів зараз там виконуються? Якщо jvm напише stacktrace то його можна завантажити в ide і проаналізувати одразу в сорсах?

    • @humancorrector-473
      @humancorrector-473 5 หลายเดือนก่อน

      Чтобы диагностировать OutOfMemoryError надо делать HeapDump и смотреть в динамике по нескольким дампам какой класс неадекватно растёт в экземплярах и смотреть где он используется в коде, возможно по последним коммитам в случае, если раньше всё было ок.
      Про способы поиска утечек через байт-код слышу впервые

  • @DVBLEX
    @DVBLEX 7 หลายเดือนก่อน +4

    Як бекенд та андроїд розробник, можу сказати що Котлні найкраща та найкрутіша мова. Якщо потрібно використати найменше памяті і найвищу швидкість для Ентейрпайзу тоді краще використовувати Java, в усіх інших випадках Kotlin кращий.

    • @Rorkr27R
      @Rorkr27R หลายเดือนก่อน

      Можна вчити тільки Kotlin чи без Java ніяк не обійтися ?

  • @prayer4675
    @prayer4675 5 หลายเดือนก่อน

    var в Java - это не замена типа, а ровно то же самое, что и в Котлине, то есть объявление локальной переменной с типом, который приходит справа.

  • @sergiyscherban219
    @sergiyscherban219 7 หลายเดือนก่อน

    Чи можна підключатись remote дебагом до jvm з студії з проектом kotlin?

  • @baer126
    @baer126 5 หลายเดือนก่อน

    Хотел бы выучить kotlin надо ли учить Java , а потом kotlin ?

    • @faang29488
      @faang29488 5 หลายเดือนก่อน

      Смотря для чего. Если хотите в андроид - сразу учите котлин, джаву не смотрите. Если в бэк, то придется подглядывать

  • @seka1309
    @seka1309 6 หลายเดือนก่อน

    Без знания джавы стоит ли учить котлин?

    • @Lt.aldo_raine
      @Lt.aldo_raine 4 หลายเดือนก่อน

      Конечно полегче будет зная джаву учить Котлин, но нет ничего невозможного в том, чтоб без джавы его выучить

  • @annahnidenko8020
    @annahnidenko8020 7 หลายเดือนก่อน +1

    Что делать с дилемой как стать андроид програмистом если нравится Kotlin и бесит Java 😅

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 7 หลายเดือนก่อน +5

      В чем дилема?

    • @K11-s6x
      @K11-s6x 7 หลายเดือนก่อน +1

      плакать

    • @СергейБезногов-т6у
      @СергейБезногов-т6у 6 หลายเดือนก่อน +4

      Бежать надо не туда где находится шайба а туда где она будет. Учить надо Котлин!

    • @Georgggg
      @Georgggg 2 หลายเดือนก่อน

      Java бесит не одного тебя, Google официально задепрекейтил Java в Android, и теперь приоритетная поддержка у Kotlin.

  • @kdannothere
    @kdannothere 7 หลายเดือนก่อน +2

    А я перейшов з котліна/android (через бюрократію в плеймаркеті і складності підтримки різних версій андроїда) на js/ts/ангуляр. P.S. чекаю стрім з ангулярщиком))

  • @VolodymyrKvashenko
    @VolodymyrKvashenko 7 หลายเดือนก่อน

    Привіт
    Використовую Kotlin ще з версії 1.2.
    Ледве стримуюся дивитися вас хлопчики.
    Не знаєте для чого можна використати інфікси, ви серйозно?
    Java головного мозку )))
    А про таку штуку як DSL хтось з вас чув?
    Перегрузка операторів, теж більш зручно для написання DSL.
    Так, це дійсно дужне потужна штука, а потужними речами треба користуватися обережніше, вмикаючи мізки, а не кричати, "ой Боже, коли я останній раз бачив це в С++... як лайняно це було".
    Kotlin чемпіон для написання різних DSL.
    Людям хто хоче зрозуміти що таке Kotlin і для чого він, дуже не ражду починати з цього відео.
    Навіть для того щоб зробити оцінку Kotlin, теж не ражду.
    Це фейл.
    Багато подробиць пропущено.
    Якщо дійсно зацікавлені в тому щоб вчити Kotlin, шукайте інших людей з іншими матеріалами.
    Шукайте відео розробників Kotlin, де вони розповідають чому вони зробили так, а не інакше.
    Віджимайтесь хлопчики )))
    Від мене дізлайк )
    па-па

  • @NorthSea-xb7jk
    @NorthSea-xb7jk 7 หลายเดือนก่อน

    Антон много пьет кофе?

  • @9-260
    @9-260 7 หลายเดือนก่อน +1

    Согласен почти со всем что сказал Сергей однако хотел бы немного поделиться своим мнением.
    Каких то прям жутко новых синтаксических фич котлин практически не предлагает однако как Антон говорил последние версии JetBrains заняты компилятором поэтому стоит дождаться версий после k2. Как мне кажется основная проблема начать новый проект на нем это отсутствие хороший решений как с java. Ну вот например ktor, он конечно позволяет написать одно и то же приложение написав меньше строк чем spring однако если ты не писал на spring-е то можешь писать на нем говнокод, а строгость и читаемость и есть одной из причин за которое джаву и выбирали. Далее перейдем к orm. Самый популярное котлин решение тут exposed. Но он как по мне не удобный и на самом деле не я один так думаю.
    Так же Антон не рассказал про kotlin native который еще находится в разработке и потенциально он должен сделать kotlin быстрее java(но быстрее ли чем с graalvm хз). И вот если б на нем замутить enterprise решение то получилось бы интересно. Конечно для java есть quarkus, но тут возникает ситуация что одно и то же приложение будет работать одинаково, но ты возьмешь тот фрейм который написан на более хорошем языке. Что касается легаси тут все так уже обсуждали довольно спорно, однако реаль любого ринка это то что потребительские привычки меняются редко и не охотно поэтому, как правило, вы находите новых потребителей. И вот сейчас даже для таких новых потребителей котлин увы ничего не предлагает. Поэтому нужно дождаться когда его выбор даст тебе больше чем просто синтаксический сахар над джавой.

    • @AntonArhipov
      @AntonArhipov 7 หลายเดือนก่อน

      > потенциально он должен сделать kotlin быстрее java
      Сделать что-то что будет реально быстрее JVM будет требовать координально другого подхода к дизайну технологии. Kotlin Native интересен больше как целевая платформа, что позволяет переиспользовать код на Kotlin между платформами (например в случае мобильной разработки)
      Про производительность будет интереснее говорить в контексте Wasm.

    • @9-260
      @9-260 7 หลายเดือนก่อน

      @@AntonArhipov А для бекенда планируется какая то технология? Вы можете уточнить у меня что я имею ввиду, как я выше упоминал GraalVm от Oracle из коробки поддерживается в quarkus. Ну не плохо было бы иметь такое для kotlin, хотя я только учусь на backend разработчика поэтому возможно я мог привести плохой пример.

    • @AntonArhipov
      @AntonArhipov 7 หลายเดือนก่อน

      Если под технологией подразумевается фреймворк, то вполне можно использовать Java фреймворки: Spring, Quarqus, Micronaut -имя им легион. Но есть и фреймворки написанные полностью на Kotlin: Ktor, http4k - их тоже сообщество очень любит и тоже можно собирать GraalVM native image.

  • @95thh
    @95thh 7 หลายเดือนก่อน +1

    Первый