Kotlin за час. Теория и практика.

Поделиться
HTML-код
  • Опубликовано: 20 сен 2024

Комментарии • 369

  • @alishevN
    @alishevN  3 года назад +22

    Наш чат в Telegram: t.me/alishev_g

    • @alishevN
      @alishevN  3 года назад +2

      @Jace Jabs Привет! я его не знаю, поэтому пока такого видео не будет.

    • @АнтонКонстантинов-х6ъ
      @АнтонКонстантинов-х6ъ 2 года назад

      @@alishevN Привет, можно ли заказать решения задач по котлин у вас?

    • @Fire.fenix999
      @Fire.fenix999 2 года назад

      Как обращаться Алишер или Алишев?

  • @javavlogger9409
    @javavlogger9409 3 года назад +823

    Смотрел на 2х, освоил Котлин за полчаса.

    • @antondityatev2338
      @antondityatev2338 3 года назад +7

      Где видосики, влоггер?

    • @АлександрПогорелов-п7с
      @АлександрПогорелов-п7с 3 года назад +13

      спс ржу ))

    • @sergeylysenkov7346
      @sergeylysenkov7346 3 года назад +19

      Не смотрел и сразу освоил, магия

    • @mmmmmg
      @mmmmmg 3 года назад

      Чай

    • @andreyi5132
      @andreyi5132 2 года назад +1

      Да, надо ускорять =) Первый раз на колтине, но давно люблю регулярки. 2-я задача с кол-вом букв:
      fun charCount(input: String) : String{
      return input.split("(?

  • @alexeypolishchuk7010
    @alexeypolishchuk7010 3 года назад +37

    Читал книгу по основам, на чтение ушло пару дней, здесь все четко и понятно вложились в один час. Большое спасибо за видео и вложенное в него время. Видео из категории must have для старта.

  • @sodz5144
    @sodz5144 3 года назад +13

    Прекрасно, хороший темп, тембр и словарный состав.
    Наполнение то что доктор прописал.
    Спасибо! Переслал сыну. ))

  • @2wardruid2
    @2wardruid2 3 года назад +11

    Спасибо за полезное видео.
    Подача - то что нужно.
    Со знаниями Java Core было очень легко понимать о чем речь.

  • @stanislavomelchenko5271
    @stanislavomelchenko5271 2 года назад +17

    Огромное спасибо за такую большую выдачу такого материала. Я к Kotlin относился чутка с презрением, типо фу напридумывали языков всяких. А теперь начинаю видеть что он превосходит Java и временами удобнее. Но... без знаний Java я бы мало что понял с этого урока. Так что Котлин это второе дыхание Javы.

    • @inbuckswetrust7357
      @inbuckswetrust7357 2 года назад

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

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil Год назад

      @@inbuckswetrust7357 откуда цифра 40 лет? и при чем тут котлин?

  • @Yornero
    @Yornero 3 года назад +20

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

  • @АлексейБузмаков-х8к
    @АлексейБузмаков-х8к 2 года назад +48

    Как же приятно учить Kotlin после Java! Не потому что Java ужасный, просто уже всё понимаешь моментально )

    • @imgolem.
      @imgolem. 2 года назад +2

      Согласен, пишу на Джаве +- год, и вот решил выучить Котлин :)

    • @ololo2274
      @ololo2274 2 года назад +9

      Я тебе больше скажу - после Java и Python - Kotlin учить еще приятнее ) Контлин - их внебрачный сын )

    • @q.f3549
      @q.f3549 Год назад

      @@ololo2274 Jaba + Piton = Kotleta

    • @olgafedyanova
      @olgafedyanova Год назад

      а зачем он вам в работе был нужен?

    • @MRoose
      @MRoose Год назад +1

      После Java и Gosu только названия коллекций надо запомнить 😊

  • @LexKoenigDrummer
    @LexKoenigDrummer 3 года назад +25

    Лайк не глядя:) Спасибо за вашу работу, Наиль и за умение хорошо подать материал)
    P.S Посмотрю позже)

  • @user-xs3tm9hu9x
    @user-xs3tm9hu9x 3 года назад +10

    Огромное спасибо за ваш труд. Тема Kotlin очень интересна, буду и дальше рад видеть ее на канале. Удачи в начинаниях :)

  • @vodnickk3134
    @vodnickk3134 3 года назад +15

    Наиль, огромное спасибо за урок. Но очень хотелось бы от вас ещё услышать про функции области видимости: let, run, with, apply, и also. Думаю это очень не маловажная особенность в Котлин. Спасибо!

  • @phil2964
    @phil2964 3 года назад +6

    Наиль, ещё не посмотрел, но заранее лайк 👍, давно пора по котлину плейлист сделать!!!

  • @user-xe7gc6dn3f
    @user-xe7gc6dn3f 2 года назад +3

    Спасибо за видео!
    Первая задача:
    import java.util.LinkedList
    fun repeated(a1: IntArray, a2: IntArray): List {
    val list2 = LinkedList(a2.asList())
    val result = mutableListOf()
    for (i in a1) if (list2.remove(i)) result.add(i)
    return result
    }

  • @red2772
    @red2772 Год назад +3

    Спасибо вам, добрый человек! Идельный вмдео урок. Сжато, по делу и при этом все пояснено.

  • @aquinary.
    @aquinary. Год назад +9

    Небольшая поправочка - val - это read-only переменная. Т.е. не совсем константа. Чтобы задать константу, нужно использовать const val. Если декомпилировать котлиновский код каким-нибудь java-декомпилятором, то будет примерно такой результат:
    System.out.println(ConstValKt.getFANCY_VAL()); - в исходниках использовался val
    System.out.println(2); - в исходниках использовался const val, т.е. здесь компилятор напрямую закидывал значение константы

    • @programmerlearner4631
      @programmerlearner4631 Год назад

      а константа это разве не read-only переменная?

    • @aquinary.
      @aquinary. Год назад

      @@programmerlearner4631 константы определяются во время компиляции. val - во время выполнения. Немножчеко разное

    • @felinooper6300
      @felinooper6300 Год назад

      @@aquinary. это принципиально на что-то влияет?

    • @aquinary.
      @aquinary. Год назад +1

      @@felinooper6300 это надо знать, чтобы не путаться в терминах.

    • @maximshirshov9532
      @maximshirshov9532 8 месяцев назад

      @@programmerlearner4631 константа и read-obly переменная это совершенно разные вещи и путать такое нельзя. Особенно когда используется lazy инициализация readOnly переменных.

  • @medweather
    @medweather 3 года назад +4

    Бро, ты крут! меня как раз на работе перевели на проект с котлиным, а я особо в нем не фурычу.. а тут такой видос мне в рекомендации) Так что спасибо!)

  • @Олег-ю8е8п
    @Олег-ю8е8п 3 года назад +25

    1. Первая задача просто не решена: в алгоритмических задачах подразумевается решение с требуемой вычислительной сложностью, а не любое работающее. Здесь представлено решение со сложностью O(n^2), а есть решение с O(n log n) - отсортировать массивы, потом пройтись по ним и "выловить" все пары.
    2. Во второй задаче, алгоритмически-то решено правильно, но из-за использование конкатенации строк в цикле (что приводит к созданию новой строки и копированию в неё старой на каждой итерации) в результате общая вычислительная сложность опять получается O(n^2). Тут конечно нужно StringBuilder использовать. Ну и дублирование кода внутри цикла и после него - это ужасно конечно.
    3. Тут решено с нужной сложностью, но слишком громоздкий код (да ещё создаётся куча лишних объектов). На этой задаче как раз можно было применить упомянутую функцию groupBy. Решается в одну строчку:
    fun groupWords(words: Array) = words.groupBy { String(it.toCharArray().apply { sort() }) }.values

  • @АлександрКабанов-в2г
    @АлександрКабанов-в2г 3 года назад +2

    Наиль, спасибо за видео!!! Очень жду следующих видео про Котлин.

  • @demndevel
    @demndevel Год назад

    хоть я и кодил всю свою сознательную жизнь на шарпах, котлин я благодаря вам освоил очень быстро. спасибо за видос!

  • @ДмитрийФридман-ф9е

    Наиль - просто офигенный дядька! Всегда с удовольствием смотрю его видео, всегда всё чётко, понятно и без лишней воды.

  • @bardir16
    @bardir16 3 года назад +3

    Потихоньку переходим в нашей команде с java на котлин. Видео очень полезное. Спасибо

  • @andrew31c
    @andrew31c Год назад

    Спасибо огромное за такое офигенное погружение в Kotlin. Сам я пишу на TypeScript, немного знаю Java. Просто в восторге, насколько же все круто и красиво делается в котлине!

  • @timon1816
    @timon1816 7 месяцев назад

    выражаю свою огромную благодарность за столь информативное и лаконичное видео

  • @T-Ihor-T
    @T-Ihor-T 3 года назад +5

    Kotlin очень полюбил после Java.

  • @softline20091
    @softline20091 3 месяца назад

    Спасибо огромное ! Искал как раз такой короткий ознакомительный курс. Котлин чем то напомнил мне груви, тоже растет из джавы, но намного упрощает синтаксис по сравнению с ней.

  • @Devivl
    @Devivl Год назад

    Очень хорошее ознакомительное видео, Наиль. Как всегда - просто, чётко и понятно. Спасибо!

  • @АлексейЯрков-р1с

    Шикарная подача и примеры. После чтения документации закрепить его видосом было очень полезно. Спасибо.

  • @azimjon_azizov
    @azimjon_azizov Год назад +1

    Огромное спасибо за проделанный труд. Зная Java, освоил Kotlin (на базовым уровне) со скорость 1.25 :)

  • @mrclement5397
    @mrclement5397 3 года назад +3

    Спасибо за видео.
    Третья задача:
    return list.groupBy { it.toSet() }. values.toList()

    • @paveltroev8221
      @paveltroev8221 8 месяцев назад

      функциональный подход.. а ТС похоже императивщик )

  • @MrMoshell
    @MrMoshell 3 года назад +7

    Великолепно! Просто восхитительно! Коротко, без воды и по делу.

  • @Ilyas377
    @Ilyas377 3 года назад +1

    спасибо. было лень читать книгу, теперь стало легче)

  • @tolikpar
    @tolikpar Год назад

    Огромное спасибо Наиль! Топ канал и топовые видео!

  • @demitelix
    @demitelix 3 года назад +2

    Вот это круто, как раз на котлине сейчас пишем

  • @zeus2521
    @zeus2521 2 года назад

    В этом видео всё идеально) И подача, и язык

  • @hatipov1986
    @hatipov1986 3 года назад

    Спасибо за все видео на канале, хорошая подача материала, продолжай в том же духе!

  • @gdnk703
    @gdnk703 3 года назад +2

    Самый лучший ролик на ютюбе! Спасибо за подробное разъяснение кода ! нигде такого больше нет, а ведь это именно то, что нужно! Хочу ещё!!!!

  • @seoonlyRU
    @seoonlyRU 2 года назад +1

    вот это шикарно!!!! Лайк от СЕООНЛИ

  • @Lurker-vp9ek
    @Lurker-vp9ek 3 года назад +5

    ААА, наконец-то Котлин))

  • @vitaly1357
    @vitaly1357 2 года назад

    Спасибо большое за Ваши видео! Очень понятно и структурировано излагаете материал.

  • @Ucicke
    @Ucicke Год назад +2

    ты же в начале рассказывал про groupBy, а сам вручную его реализовал по сути
    fun groupWords(words: List): List {
    return words
    .mapIndexed { idx, it -> idx to it.asIterable().sorted().joinToString("") }
    .groupBy { it.second }
    .values.map { it.map { words[it.first] } }
    }

  • @Sashikx_zxc
    @Sashikx_zxc Год назад

    Наиль ты болшой молодец!! Любые твои уроки, очень позноавтельные !!

  • @МаксимЗубрейчук-р9г

    Очень суперский урок - спасибо!

  • @viktyusk
    @viktyusk 2 года назад

    Спасибо за быстрое введение в Kotlin.

  • @cybersportnews2754
    @cybersportnews2754 4 месяца назад +1

    Яндекс обычно требует задачи решать без готовых функций т.е через логику и написание функций самому с помощью циклов и прочей, если ты решишь через готовый toHashSet они даже не смотрят)
    накидал запару минут может не очень красиво но понятно и просто
    for (item in a){
    if (
    b.contains(item)){
    c.add(item)
    b.remove(item)
    }
    }
    первая задача

  • @CarboardTrain
    @CarboardTrain Год назад

    Код "Привет, Мир!" на Kotlin вернул меня в "злые" 90е, когда мы дружно и незабвенно писали на Турбо Паскале. Там "Hello World" выглядит не на много иначе:
    program Hello;
    begin
    writeln ('Hello, world.');
    end.
    Мне действительно 3000 лет и я действительно был там...

  • @ЕкатеринаВоробьева-ф6ч

    Как раз то что я искала! Спасибо было полезно.

  • @MRoose
    @MRoose Год назад

    Отличный вводный урок, спасибо большое!

  • @zclystven6057
    @zclystven6057 3 месяца назад

    Господи, наконец-то попалось видео не облизывающее язык программирования в течение часа, а и вправду рассказывающее дельные и интересные вещи про него.

  • @user-ms5pc2vj8u
    @user-ms5pc2vj8u 3 года назад

    Довольно не плохая презентация информации, спасибо бро! Давай запилим приложение еще на минималках какое нибудь и будет вообще сказка!

  • @ЕгорПоляков-т5ъ
    @ЕгорПоляков-т5ъ 3 года назад

    Спасибо за твои видео, как
    всегда просто и доступно)

  • @Majjabee-np9nq
    @Majjabee-np9nq 3 года назад

    Материал и озвучка - хорошая. Спасибо!

  • @abbosagzamov8499
    @abbosagzamov8499 3 года назад

    как всегда на высшем уровне ! Спасибо

  • @skanta
    @skanta 3 года назад +2

    Лайк заранее. Вернусь через пару недель после ЕЕ и Спринга=)

    • @wildjoe6259
      @wildjoe6259 3 года назад +1

      EE и Spring за пару недель? - Мужчина! ))

    • @skanta
      @skanta 3 года назад

      @@wildjoe6259, есть разница изучить азы и стать синьором. Так что всё зависит от поставленной цели:)

    • @botsynth
      @botsynth 5 месяцев назад

      @@skanta как успехи?

  • @Denis-Orlov
    @Denis-Orlov 3 года назад

    Привет! Классный посыл - знакомство с Котлин. Лайк сразу.

  • @agentr227
    @agentr227 3 года назад +1

    Спасибо за видео, сохранил и лайкнул 👍

  • @qsinwakrttk5698
    @qsinwakrttk5698 3 года назад +1

    Первая задача получилась что-то знатно короче:
    execOne(one: IntArray, two: IntArray): List {
    return one.filter { it -> it in two }.sorted()

    • @alishevN
      @alishevN  3 года назад

      execOne(intArrayOf(1, 1, 1), intArrayOf(1, 1))
      Работает неправильно

    • @MrYura999
      @MrYura999 3 года назад

      у меня как то так:
      val a = arrayOf(1,2,3,2,0)
      val b = arrayOf(5,1,2,7,3,2)
      var bCopy = b.toMutableList()
      println(a.filter { if (bCopy.contains(it)) { bCopy.remove(it); true } else false })

  • @ruslannovikov8374
    @ruslannovikov8374 Год назад

    Perfect explanation of Kotlin. Thank you for nice video!

  • @romankryvolapov
    @romankryvolapov 3 года назад +3

    Хорошее видео, но не охватил let{} run{} и тд, а они используются очень часто, также suspend, launch и job

  • @vital_63_
    @vital_63_ 2 года назад +1

    Решение первой задачи в 2 строки:
    fun getRepeatedIntersection(a1: IntArray, a2: IntArray): List {
    val mut2 = a2.toMutableList()
    return a1.filter {mut2.remove(it)}
    }

  • @ОлегДанилов-у6ы
    @ОлегДанилов-у6ы 2 года назад

    Преподаватель от бога просто )) спасибо, все очень понятно

  • @ВераГусева-с9ъ
    @ВераГусева-с9ъ 3 года назад +4

    Ждём марафон по Котлин 🔥

  • @goodboy7902
    @goodboy7902 3 года назад +1

    Спасибо за видос!

  • @andreyi5132
    @andreyi5132 2 года назад

    Третья задача на лямбдах
    fun listGrouper(input:List) : List{
    return input
    .groupBy(keySelector = { it.toCharArray().sorted() }, valueTransform = { it } )
    .map { it.value }
    }

  • @AlexJPep
    @AlexJPep Год назад +1

    Так же было бы неплохо показать в последней задачке как класть элемент через Map.compute вместо if/containsKey, как раз было бы красивее и можно было бы элвиса запряч, когда текущий val был бы null :) (тем более если задачи из "яндекса")

  • @gera.v.v
    @gera.v.v Год назад

    Круто. Есть 2 топовых java учителя Alishev и dmDev. И кто круче- я не знаю. Лайк

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil Год назад

    8:16 Классно. Подобно в питоне можно делать.
    Когда изучал джаву, то думал почему же не сделали так как в питоне

  • @krakra8415
    @krakra8415 2 года назад +2

    Довольно часто звучало выражение "как в Python". И из этого видео я понял, что Kotlin действительно многие идеи позаимствовал у Python. Мне как представителю питона видится, что многие задачи решаются намного проще и лаконичней в питоне. Наверное Kotlin будет отличной альтернативой Java, для себя же, как для питониста, я не нашёл причин осваивать дополнительный язык.

    • @МихаилСтариков-т9ч
      @МихаилСтариков-т9ч 2 года назад

      Я бы ещё добавил - как в DELPHI - (может кто изучал этот язык - многое по синтаксису взято из него)

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil Год назад

      @@МихаилСтариков-т9ч делфи это паскаль. что из паскаля взял котлин?

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil Год назад

      > я не нашёл причин осваивать дополнительный язык.
      а зачем таким вопросом задаваться под видел про котлин?

  • @user-sq4yd3fg4k
    @user-sq4yd3fg4k 3 года назад +1

    Решение задач понравилось, всегда интересно наблюдать как у других людей голова работает) я вообще не шарю в котлине так что чисто алгоритмически скажу как бы сделал на питоне:
    в первой я бы создал 3й список. И его заполнял следующим образом: цикл фор первого списка по второму списку, при встрече совпадения - записать цифру в третий список, выкинуть эту цифру со второго списка и оператор continue (гугл говорит он в котлине тоже есть). И того третий список соберётся как надо.
    Вторая задача: примерно так же бы сделал но с одним изменением - я бы в начале CurrentLetter - пустой строкой и когда бы встречал другую букву считал бы их количество в строке, таким образом не пришлось бы потом отдельно писать кусок кода для обработки последней буквы.
    Третью я бы наверно также сделал.

  • @prikirale
    @prikirale Месяц назад

    Хорошему видео не нужны ботокомментарии. И к счастью, тут их нет. Когда видео рассказывает человек с опытом, это видно по манере повествования.

  • @vladimirzhdanov1338
    @vladimirzhdanov1338 Год назад

    Спасибо за видео, выучил язык, еще бы в контексте спринга\хибера - Котлин)

  • @johnconstantine6331
    @johnconstantine6331 3 месяца назад

    Блин, аргументы по умолчанию реально крутая фича. Печально, что в джаве их нет

  • @ГлебВалерьевич-у6ы

    СУПЕР. спасибо за труд

  • @ДенисПетренко-н1о

    Решил третью так, в одну строку:
    fun groupWords(a: Array): List{
    return a.groupBy { it -> it.toSet() }.values.toList();
    }

  • @Majjabee-np9nq
    @Majjabee-np9nq 3 года назад

    Спасибо за ваш труд!

  • @timpopov2808
    @timpopov2808 3 года назад +1

    Хорошее видео, но задачи решаются с представленными возможностями куда проще. 3 задача без учета ввода и вывода 2 сроки.

  • @h_worker1826
    @h_worker1826 3 года назад +1

    Надеюсь будет больше уроков про Котлин

  • @Frestein
    @Frestein Год назад

    Пересказал документацию, красава.

  • @МарияСидорова-л3ь
    @МарияСидорова-л3ь 2 года назад

    Познавательно, спасибо)

  • @ДенисШепелёв-ф3ч
    @ДенисШепелёв-ф3ч 3 года назад +12

    Было бы неплохо увидеть от вас курс по Kotlin, учитывая, что курс по Java вышел отличный, что скажете?) (Если решитесь, то добавьте, пожалуйста, практические задачи)

    • @alishevN
      @alishevN  3 года назад +1

      Курс вряд ли. Я же практически все рассказал в этом видео)

    • @ДенисШепелёв-ф3ч
      @ДенисШепелёв-ф3ч 3 года назад +4

      @@alishevN а как же корутины?)

    • @eugenenovikov671
      @eugenenovikov671 3 года назад +1

      @@ДенисШепелёв-ф3ч это ж основы, представьте elixir за час, вы там не увидите написание распределённых систем явно за час.

  • @antonvarganov1312
    @antonvarganov1312 2 года назад

    Годнота, давай ищо!

  • @E6y4a94yma
    @E6y4a94yma 3 года назад

    Спасибо тебе за твои уроки

  • @maximkarassev1016
    @maximkarassev1016 3 года назад +1

    Лучший!!!

  • @Libra7by
    @Libra7by 3 года назад +3

    А почему Котлин, в отличие от Явы, поменял местами и имяПеременной при инициализации? Для чего такое задумано?

    • @антонсыч-ъ9и
      @антонсыч-ъ9и 3 года назад +2

      Для того чтобы беглым взглядом при просмотре кода обращать внимание на НАЗВАНИЕ переменной, а уже потом обращать внимание на её тип

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil Год назад

      @@антонсыч-ъ9и и названия переменных при этом еще и выровнены по одному столбцу

  • @ВикторияГришина-й1ш

    спасибо за контент)

  • @alexeydeyev4970
    @alexeydeyev4970 3 года назад +1

    У меня экран стал липкий от количества синтаксического сахара!
    П.С. видос и сам язык топ!

  • @AlexandraEdwards-t1w
    @AlexandraEdwards-t1w Месяц назад

    А как вы считаете, стоит ли переходить с Java на Kotlin, если разрабатываешь Android приложения? Лично я долго выбирал курсы по IT, рассматривал разные компании, но в итоге остановился на Skypro. Курсы оказались очень структурированными и понятными, что позволило мне начать работать уже за пару месяцев до окончания обучения))

  • @user-sq4yd3fg4k
    @user-sq4yd3fg4k 3 года назад +1

    Все равно писанины много лишней осталось, допустим в диапазонах, то что в питоне срезы. зачем эти Down to, Step? В том же питоне изящнее реализовано[Откуда:До куда:Шаг] например [ 10 : 0 : -2 ] Означает от 10 до нуля шаг -2. Вот и всё без лишней писанины. Это по поводу языка. А вы то молодец понятно объясняете

  • @АлексейПерцух
    @АлексейПерцух 2 года назад

    Спаксибо, отличное видео! Я закончил курсы ява андроид, но на работу не берут, потому что нужен котлин. Посмотрел видео и в первом приближении понял отличия котлина от явы. Видео идеально как "getting started" при переходе с явы.

    • @mon_541
      @mon_541 2 года назад

      долго учились ,сложно?наверное сразу котлин начинать не реально без знаний основ

    • @АлексейПерцух
      @АлексейПерцух 2 года назад +1

      @@mon_541 да нет, как и любой другой язык, котлин можно учить в качестве первого языка. Просто нужно найти подробный курс по Котлину, где будет все рассказано с самого начала- типы данных, условные операторы и т.д.
      Но так как котлин и ява на 90% одинаковы, а яву я изучил, то я посмотрел несколько видео, прошел еще дополнительно простой бесплатный курс на степике и тем самым освоил котлин на приемлемом уровне. Вообще, если вы не программист(например на другом языке, 1С или типа того) я бы советовал учиться не по интернет-курсам, а пойти на годовые курсы в реале. При самостоятельном обучении в инете вы вы не сможете поддерживать высокую интенсивность обучения и мотивации. Суть обучения на годовых курсах в реале: занятия раз в неделю по 6 часов, далее задают домашнее задание, вы его выполняете. Процесс обучения происходит именно тогда, когда вы выполняете дз. Теория важна, но практика- наше все. Учиться на таких курсах не сложно, просто нужно выделять время хотя бы по час-два в день, чтобы делать дз. В группе у нас в основном были люди старше 30 лет, так что в любом возрасте можно освоить программирование. Не пожалейте 1000$ за год.

    • @mon_541
      @mon_541 2 года назад

      @@АлексейПерцух спасибо огромное, за подробную инструкцию, это реально было важно для меня))а то сколько не искал инфы всё не то, вроде для начинающих искал в то же время столько непонятного

    • @objectobj
      @objectobj 2 года назад

      @@АлексейПерцух плохой совет
      подойдёт только таким же, как ты

    • @adamandsteve13
      @adamandsteve13 Год назад

      * джава, и никак иначе

  • @inquisitor4894
    @inquisitor4894 Год назад

    1:05:00 Если порядок не важен, то вот решение: val result = s2.filter { e -> s1.any{it == e} }

  • @СергейВячеслаев
    @СергейВячеслаев 3 года назад

    Спасибо, очень интересно !

  • @anthonyas1930
    @anthonyas1930 2 года назад

    Спасибо, вполне хороший урок. Для человека, который уже в проге и просто нужно освоиться в новом языке, на 2х вполне неплохо смотреть, хотя хотелось бы даже побыстрее

  • @ZackiePhoton
    @ZackiePhoton 3 года назад +17

    Как же легко переходить с Java на Kotlin, спасибо

    • @MerlinMoorlo
      @MerlinMoorlo 2 года назад +1

      а с нуля можно котелок пробовать если до этого не был программистом вообще?

    • @mikokz2329
      @mikokz2329 2 года назад

      @@MerlinMoorlo Можно, но желательно сперва изучить базу джава. Если вы совсем не разбираетесь в программировании, то сначала изучите пайтон. Он отлично подходит для первого яп. На пайтоне тоже можно сделать довольно крутые андроид приложения.

    • @kiparisov1480
      @kiparisov1480 2 года назад +4

      @@mikokz2329 а что, неплохая идея, сначала изучаем пайтон, потом изучаем джаву и только потом переходим к котлину, так пару лет уйдет чтобы до котлина добраться :)

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil Год назад

      @@mikokz2329 лучше уж котлин сразу чем питон
      по лаконичности котлин близок к питону

  • @ПетровСергей-г7я
    @ПетровСергей-г7я 3 года назад

    Есть маленькие уточнения функция аналог void в джава возвращает Unit! в тоже врем в котлине есть тип nothing, функции которые возвращают nothing как раз не возвращают никакого значения и даже управления, простыми словами они выбрасывают exception. А Any это просто супертип аналог object. а не обозначение любого класса.

  • @grniko
    @grniko 3 года назад

    Лайк стоит, но просмотр будет примерно через месяц)

  • @objectobj
    @objectobj 2 года назад

    А я последнюю задачу сделал путём подсчёта суммы значений символов и затем сравнения таких сумм других строк.

  • @konstantinchernickevich5826
    @konstantinchernickevich5826 2 года назад

    Всё-таки лучше наверное указывать тип всегда явно , и ставить возможность неявной автотипизации для чего-нибудь типа foreach=>(var i in integer_list){PrintLn(int32.parse(i))}

  • @sergeyplotnikov5031
    @sergeyplotnikov5031 3 года назад

    Спасибо большое!!!!

  • @Tolyan991
    @Tolyan991 3 года назад

    Коммент по поводу функций, когда метод находился вне класса, т. е. в процедурных языках программирования, таких как C/C++/Pascal и ещё куче языков, то он называется либо функций, либо процедурой. В зависимости от типа возвращаемого значения. void - процедура, потому что ничего не возвращает. Функция - int, double, string и т. д., потому что выполняет return в конце своей работы. А в ООП, что функцию, что процедуру называют методом. А это значит что Kotlin поддерживает процедурный стиль программирования.

    • @alishevN
      @alishevN  3 года назад +1

      Да, верно

  • @T-Ihor-T
    @T-Ihor-T 3 года назад

    Подсчет к-ва каждого символа через мапу
    fun count (str: String){
    val result = mutableMapOf()
    for (i in str.indices) {
    val char = str[i]
    result[char] = if (result[char] == null) 1
    else result[char]!! + 1
    }
    result.forEach { (ch, count) ->
    print("$ch$count")
    }
    }

    • @fanifyeyev
      @fanifyeyev 3 года назад

      это не покрывает требования задачи. Если символ 'A' встречается например вначале и в конце, AAAABBBAAA, то ваша реализация сделает A7B3, а надо A4B3A3

    • @T-Ihor-T
      @T-Ihor-T 3 года назад

      @@fanifyeyev да, согласен

  • @AlexJPep
    @AlexJPep Год назад

    ещё бы if/else однострочные обрамлять { }, удобней потом рефакторить при необходимости, не нужно бегать и проставлять { }