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
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
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
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.
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.
Sounds like Rust propaganda to me >:(
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
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
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.
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...
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
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
Ah yes, SQL and their games.
Then there's Haskell that would remove (well, used to at some point) your source code file if you made any errors: https://gitlab.haskell.org/ghc/ghc/-/issues/163
The world's angriest compiler.
So that's what inspired Vigil...
Reading their page gave me a good laugh. Didn't know about this before, and I'm glad to have learned about its existence
When the compiler is being more helpful than you realize.
That's actually hilarious
C just shrugs and says "Seg Fault."
Have you tried segmenting in a non-faulty way?
Probably forgot a semicolon
This joke is never funny; Forgetting a semicolon in c results in compile time errors, not runtime errors
"Shit happenned!"
The range those words induce is crazy
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.
What about the fact it invades your dreams and slowly drives you insane?
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.
Yeah, but which one i cooler?
Rust because having a package manager is important.
Even C has a package manager
Well at least C++ definitely is far away from cool, you can imagine the rest...
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.
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)
Clearly, you haven't gcc & gdb...
I love gcc but it can't make nested template errors any less horrifying
Way too short to be a real C++ error. Needs a few more pages of template gibberish.
Template<Instatiation::_1,_2,_3, Instatiation2::_1, _2<closure::wrapped<_1[map::closure_inner]>>, Outer<Inner<Wrapper>>>::static_wrapper<std::map, spirit::parser::lever<int, std::array>::fuck_you
Syntax error: unmatched thing in thing from std::nonstd::__map<_Cyrillic, _$$$dollars>const basic_string< epic_mystery,mongoose_traits<char>, __default_alloc_<casual_Fridays = maybe>>
(from James Mickens' The Night Watch, highly recommended with his other essays: https://mickens.seas.harvard.edu/wisdom-james-mickens)
I like how this depicts how rust is designed more top down and C++ is designed bottom up.
How compiler builders see peppa:
https://www.deviantart.com/ian-exe/art/Peppa-pig-front-face-743773121
I think these two pigs are the best comparison of rust and c++ I've ever seen. Also considering the aesthetics, it's so accurate.
How compiler builders see peppa:
even number of nostrils
Missed opportunity.
LISP be like: "There is an error here in this wierd code I just generated and which you never saw before. Wanna hotfix it and try again?"
Ever tried using typenum numerals in Rust? 😅
Try it and see the errors with something like typenum::U500
.
Or deeply cascaded generic code with a lot of trait-bounds...
Clojure: hold my beer
"Fuck you ... or not. One day ... or two ... or every day. For certain, when you least expect it"
(C++ errors involving memory pointers)