From a language architecture standpoint and not an ecosystem standpoint, what might be some things where you’d really not want to use Rust, either because of some limitation that prevents it from doing it or just because it’d be massively annoying to write to the point of significantly reduced productivity? What about Rust makes it unsuitable, and what language paradigms are the best for it?

I hear a lot about how the things that Rust is not good for, JIT compilation with a garbage collector is usually the best solution, and vice versa. How true is this?

  • pinknoise
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    3 years ago

    Option is rust’s null. And matches are everywhere because of it.

    And if let’s - so what?

    C++ makes working with null pointers so beautiful.

    How? You still have to check wether it’s NULL or not.

    Businesses want reliable software

    No they want quick turnaround, so they can make more profit. Thats the opposite of reliable software. Thats why most commercial software is such a buggy mess.

    • southerntofu
      link
      fedilink
      arrow-up
      3
      ·
      3 years ago

      How? You still have to check wether it’s NULL or not.

      I think that’s the parent’s point: in C/C++ you don’t have to deal with null. You can just pass it around and potentially start unintended/undefined behavior. While in Rust, it’s a compile-time error if you don’t unwrap the option somehow (eg. if let Some(content) = optional_content).

      So yes it’s more concise and “beautiful”, but you’ll probably bite your own hand at some point playing this game

      • pinknoise
        link
        fedilink
        arrow-up
        3
        ·
        3 years ago

        How is it more beautiful? You have to deal with null pointers when you want to use the pointer anyway, if you don’t you will get a runtime error, or worse, your program will keep running in an unintended state.

        • southerntofu
          link
          fedilink
          arrow-up
          2
          ·
          3 years ago

          yes, that was exactly my point. You can just use a pointer without checking it, which is aesthetically more pleasing, but will produce garbage :)