• Saneless@lemmy.world
    link
    fedilink
    English
    arrow-up
    78
    ·
    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

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

      Excel: taking ages to load a file

      Excel: There is a link to another Excel document, but I can’t access it to update the value.

      Me: Where?

      Excel: To this document.

      Me: … Where can I find the cell that contains this link?

      Excel: I don’t know noises

      Me: What if it is a named variable?

      Excel: Yes.

    • sunbeam60
      link
      fedilink
      English
      arrow-up
      5
      ·
      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
      44
      ·
      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
        20
        ·
        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

          • eth0p@iusearchlinux.fyi
            link
            fedilink
            English
            arrow-up
            1
            ·
            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
          1
          ·
          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

  • FreeloadingSponger@lemmy.world
    link
    fedilink
    English
    arrow-up
    55
    ·
    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…

    • christophski@feddit.uk
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 year ago

      MySQL: you have an error around here

      Me: that’s the entire query. If you aren’t going to tell me what the error is, can you at least narrow it down?

      MySQL: … Stfu

    • marcos@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      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

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

    Haskell errors:

    Iä! Iä! Cthulhu (b -> (a -> c)) -> (b -> (c -> c)) -> a fhtagn! Ph’nglui mglw’nfah [[a]] Cthulhu R’lyeh wgah’nagl fhtagn!

    [45 lines of scopes]

    Once you understand the type system really well and know which 90% of the error information to discard it’s not so bad, I guess.

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

        I literally had a type-theory themed stress dream a couple nights ago. I’ll leave it up to you if that makes this less or more funny.

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

      GHC messages are complete and precise, usually telling you everything you need to know to understand, find, and fix the error, that may not even be on the place it’s actually detected.

      It’s also in an alien language. That’s correct.

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

        complete and precise

        Exactly. It’s a perfectly condensed yet totally complete readout of all the data you might need for debugging. It makes mathematicians everywhere proud.

        If you don’t actually need a complete set of information about possible exotic type choices just to see you put an infix in the wrong place that’s basically not the compiler’s problem.

        (TBF, I wouldn’t want to try and mindread the programmer in my compiler either, but then I am a maths person)

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

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

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

    • sunbeam60
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 year ago

      Template<Instatiation::_1,_2,_3, Instatiation2::_1, _2<closure::wrapped<_1[map::closure_inner]>>, Outer<Inner<Wrapper<float>>>>::static_wrapper<std::map<auto>, spirit::parser::lever<int, std::array<int>>::fuck_you

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