• JakeHimself@programming.dev
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      Tbf, you have to be pretty far with Rust to get to a point where Rust’s compiler errors stop helping you (at least, as far as I’ve seen). After that, it’s pretty much the same

      • philm@programming.dev
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Yep use a little bit more deeply cascaded generic rust code with a lot of fancy trait-bounds and error messages will explode and be similar as C++ (though to be fair they are still likely way more helpful than C++ template based error messages). Really hope that the compiler/error devs will improve in this area

        • Beanie@programming.dev
          link
          fedilink
          arrow-up
          0
          ·
          1 year ago

          ‘it should pretty much never segfault’ uh, isn’t that the entire point of Rust? Unless you’re counting failing a bounds check as a segfault

          • eth0p@iusearchlinux.fyi
            link
            fedilink
            English
            arrow-up
            0
            ·
            1 year ago

            Can’t have a runtime error if you don’t have a compiled binary *taps forehead*

            (For the record, I say this as someone who enjoys Rust)

            • asdfasdfasdf@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              This is actually unironically a major benefit of Rust - compile time errors are supposed to be for dev mistakes and runtime errors supposed to be for user mistakes. Way easier to debug something at compile time instead of runtime.

  • glad_cat@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Rust is nice, unless you have a traits compilation error from a 3rd party library using types that are more difficult to write than C++ templates.

    • philm@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      yeah as nice as it is what you can achieve with trait-bounds there are definitely trade-offs, being compile time and error messages, and sometimes mental complexity, understanding what the trait-bounds exactly mean… I really hope, that this area gets improvement on at least the error-messages and compile time (incremental cached type-checking via something like salsa)

      • Flipper@feddit.de
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        I much prefer getting told of that it doesn’t match a trait than get 600 characters of which the majority is implementation detail of global allocators und from what exactly the string is derived.

        • philm@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Depends on what trait bound error messages you have had yet, I had 1000 lines long already, where it’s not obvious at all what is meant (and is often a very simple fix). But I’m sure this will get better over time, there’s already a bigger ongoing redesign of the type system solver, so maybe it will be integrated into stable rust soon.

  • ExperimentalGuy@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    One of the reasons i started learning rust was bc of how easy it is to get into it, or at least that’s how it felt for me. It wasn’t until a few months into consistently writing that I started to encounter things that I didn’t understand.

    • marcos@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      The good thing about Rust is that if you have no idea of any problem in your code, it very likely because your code is ok.

      On C++ things are different.

  • FreeloadingSponger@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    MySQL: you have an error near here.

    Me: What’s the error?

    MySQL: It’s near here.

    Me: You’re not going to tell me what the error is? Okay, near where? Here?

    MySQL: warmer… warmer…

    • marcos@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Oracle: You have this error in line 1

      User: Hey, no, there isn’t anything to cause this error in line 1

      Oracle: I’m telling you, it’s in line 1

      User: Hum… How many lines are in my 10 lines query?

      Oracle: 1

    • corm@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Rust because having a package manager is important.

      Even C has a package manager

  • UFO@programming.dev
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    Way too short to be a real C++ error. Needs a few more pages of template gibberish.