The Essence of Coroutines

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

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

  • @henninghoefer
    @henninghoefer 5 หลายเดือนก่อน +20

    So glad to have found this via the Kotlin Slack. Your videos are great at explaining and incredibly well produced!

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

      Thanks so much for your kind words, Henning!

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

    Hi Dave, I was trying different books to learn Kotlin... Coming from Java, I wanted something that would give me the essentials of Kotlin... And by accident, I found your book "Kotlin Illustrated Guide".... Wow, in one sitting, I read 6 chapters, and it was just amazing the way it was written and explained.... Thank you so much for your work teaching Kotlin!!

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

      Oh, wow - that's fantastic! I'm so glad to hear that the book has been helpful for you! 🎉 Lots of effort put into it, so it's very rewarding to hear when it resonates well with someone!

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

    Coroutines
    Explanation for coroutines is great!!
    Direction Backward > Execution Paused > State Preserved

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

    Well explained in a unique way that doesn't hide what's happening... kudos!

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

      Thanks so much, Chris!

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

    I want to express my gratitude for the clear and concise explanation of coroutines.

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

    this channel is a mine of gold Kotlin ore

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

    Hi, I am finding this channel so helpful. Thanks a lot. I would request you to create a video on if coroutines did not exist, how we could achieve concurrency, parallelism in Java / Kotlin. I am particularly stuck in correlating between with and without coroutines.

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

      Thanks so much for the recommendation, Akshay! Are you mostly looking for a comparison between using coroutines and using other approaches - such as futures, promises, etc.?

  • @LifeLessonsLearned8587
    @LifeLessonsLearned8587 5 หลายเดือนก่อน +4

    I knew!! I will learn something new and your video will not disappoint me. Thanks Dave for the video.

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

      Hey, that's great, Vivek! I'm glad you enjoyed it! 😁

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

    So helpful, Dave! Thank you for investing so much into helping the Kotlin community thrive!

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

      Thank you, Doug! I'm happy to do so!

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

    So beautifully explained. Thanks Dave

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

      Your avatar is beautiful.

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

      @@gregandark8571 Thanks. It somewhat depicts the place I live in.

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

    Hi dave, i just love the way you explain everything like you are teaching a newbie, every time i watch your videos makes my concepts clear, thank you so much, i have 1 request can you please make video series for coroutines, DI type hard to understand concepts in android beginner to advance ???

  • @guyguy467
    @guyguy467 5 หลายเดือนก่อน +2

    Very nice explanation. Thank you

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

      Thanks so much, Guy!

  • @katarinazzz
    @katarinazzz 5 หลายเดือนก่อน +2

    Amazing explanation! I love your channel, hope you'll keep making more videos

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

      Thank you so much, Katarina! I'll keep at it!

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

    Can't get tired of your content, how about talking about differences between interfaces, sealed interfaces and sealed classes?

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

      Thanks so much! I'll add that to my list of ideas for future videos!

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

    hey Dave! will you be selling physical version of your book? I would love to buy one if you did)

    • @typealias
      @typealias  5 หลายเดือนก่อน +3

      Hey, thanks for asking! Yes, I'm planning to make a print edition available after the digital version is complete. I'll need to finalize Chapter 20, add a few appendices, and rework some images for better print quality - so it might be a few months out yet, but I'm looking forward to it!

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

      @@typealias great news😍. can't wait)

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

    Great video as always! Btw, can you please tell me which IDE theme you use?

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

      Thanks so much! Yes, the main UI Theme is "Dark", and the Editor Color Scheme is "Darcula". I'm pretty sure I made a few small changes to the levels to increase contrast, but the core colors of the editor are from Darcula.

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

      @@typealias thanks!!

  • @L4szcZ
    @L4szcZ 5 หลายเดือนก่อน +9

    I am learning few years already and still thinking I am dumb

    • @typealias
      @typealias  5 หลายเดือนก่อน +13

      In the software development industry, there's always so much more to learn. That feeling of inadequacy is pretty common, even across different experience levels. Just stay honest about what you know and what you don't know, always be willing to learn more, and stay focused on learning the things that will be the most helpful for you.

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

      This reminds me of the quote "If you can't explain it simply, you don't understand it well enough." - Albert Einstein.

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

      It's like that the whole damn way, that's why understanding each part takes time and builds on the previous... you either like that process and just keep going or you hate it and quit.

  • @gauravthakkar802
    @gauravthakkar802 5 หลายเดือนก่อน +2

    Dave, what do you do for a living?\

    • @typealias
      @typealias  5 หลายเดือนก่อน +4

      Hi Gaurav! I do software development as an independent contractor, but this year I'm almost exclusively focused on serving the Kotlin community, exploring whether it's possible to make that a sustainable business.

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

      @@typealias It is possible to make a sustainable business. We do not know many more things that you know.😛 So we are the partners in your business

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

    Great work, awesome video, I always knew how to use coroutines but did not know to explain why they've worked! Thanks for the explanation!
    Minor critic here, there's a delay on ur voice with the video that bothers me, hahaha

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

      Hey, thanks so much, Andrei! Wow, ya the audio/video sync on this one is definitely off - that bothers me too! 😅 I've made a few changes to my recording setup and process since this one came out, so hopefully we won't have this problem with the more recent videos!

  • @gamarmustafa
    @gamarmustafa 5 หลายเดือนก่อน +3

    great content!🙌🏻

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

    Please create more videos like this ❤

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

    Hey Dave,
    This was really great, thanks for making it a fun topic!

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

      Thank you! I'm glad you enjoyed it!

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

    How to use internal low level createCoroutineUnintercepted directly? I always get "Unresolved reference: createCoroutineUnintercepted" error.
    I only able to use createCoroutine function to implement this kind of stuff.
    Is there any configuartion to let user touch the internal api?

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

      Hello Chao! createCoroutineUnintercepted() is part of the standard library, and you can import it with `import kotlin.coroutines.intrinsics.createCoroutineUnintercepted`. There are two overloads, and they're both public. Keep in mind that they are extension functions on a suspending function, so to invoke one of them, you'll need to call it on a suspending function. To do that, you can either call it on a variable whose type is `suspend () -> T` or `suspend R.() -> T`, or on a suspending lambda directly:
      suspend { /* stuff goes here */ }.createCoroutineUnintercepted(Continuation(EmptyCoroutineContext) {})

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

    I really like this video. Thank you!

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

      You're most welcome! I'm glad you enjoyed it!

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

    You have a good deep pleasure voice. Thanks for explaining Coroutines

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

      You're most welcome!

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

    Great video, thanks!

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

      Thanks! I'm glad you liked it!

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

    nice 👍

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

    This is cool...

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

    Thank you

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

    Wil you be my mentor.

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

    First.

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

    Second