• asdfasdfasdf@lemmy.world
    link
    fedilink
    arrow-up
    4
    arrow-down
    1
    ·
    11 months ago

    I agree with 99%, but not sure I see how async is a “fancy feature”. When you’re writing async code, async is boring and normal. I guess if you are writing programs that don’t need to be concurrent it’s fine to use sync variants of stuff.

    • snaggen@programming.devOP
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      11 months ago

      Well, when you write async code, you may suddenly find your self needing to implement AsynRead or something similar. Suddenly you have to use pin, and understand how async worksbunder the hood. So, while I agree that async is not something fancy, it will possibly throw you in some quite advanced territory. The part I’m not sure I agree with is skipping the error handling. But I see what the authors intention is, to keep hairy stuff out of the way while learning the basics.

      • asdfasdfasdf@lemmy.world
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        edit-2
        11 months ago

        I’ve been writing async Rust professionally for 5 years and never needed to implement AsyncRead, or even Future directly. I’ve only used Pin for working with the async_stream macro. That stuff is very low level and probably would never be encountered by the vast majority of async users.

        • snaggen@programming.devOP
          link
          fedilink
          arrow-up
          3
          arrow-down
          1
          ·
          11 months ago

          Well, you don’t need it until you suddenly do. But I guess it might be very different for different users depending on your use case. I have found myself needing to go low level for async a few times, and I don’t think I’m doing very strange things.