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

    My favorite, since I’m not a programmer anymore, is excel

    E: Your formula has a circular reference. I ain’t doing shit till you fix it

    Me: where?

    E: In your spreadsheet, I don’t fucking know

    • sunbeam60@lemmy.one
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      1 year ago

      It’s ok, you run the expression debugger, which says the first step, which is all of the formula, will result in an error. So helpful.

    • 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
        2
        ·
        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

      • Boinketh@lemm.ee
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        1 year ago

        Rust has better runtime errors, too. If you run a dev build, it should pretty much never segfault unless you use unsafe and will instead tell you what went wrong and where, no valgrind necessary.

          • 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.

        • 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

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

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

  • ExperimentalGuy@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    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.

  • glad_cat@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    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
      1
      ·
      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
        ·
        10 months 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
          ·
          10 months 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.

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

      Rust because having a package manager is important.

      Even C has a package manager