• jackr@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    4
    ·
    12 hours ago

    Perl is ugly but great. It’s like shell scripting with a more solid programming language. I’d never use it outside of simple scripts in my os, but whenever I do use it it’s very fun. Anyway, yeah, rust looks fine to me. Maybe they are not very experienced with it? I know some of my programs used to have lines with just x.unwrap().unwrap().unwrap() or whatever, which is not pretty.

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      3
      ·
      5 hours ago

      I know some of my programs used to have lines with just x.unwrap().unwrap().unwrap() or whatever, which is not pretty.

      That goes away with experience, though. At least, I can’t think of a reason why you’d nest three Results or Options. Normally, you would collate them right away.

      The most you see in the wild is something like Result<Option<_>> to express that a check can fail, but even if it doesn’t, then a valid result can still be that there is nothing there.

      If you don’t care that your program crashes (like .unwrap() does), then anyhow is the error handling library of choice. With it, you can just write a ? in place of an .unwrap() for practically any error type. And well, it automatically combines the errors, so you won’t be writing ??? either.