this post was submitted on 25 Jul 2023
1056 points (98.2% liked)

Programmer Humor

20039 readers
1706 users here now

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.

Rules

founded 2 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] Saneless 93 points 2 years ago* (last edited 2 years ago) (2 children)

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 11 points 2 years ago* (last edited 2 years ago) (1 children)

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.

load more comments (1 replies)
[–] [email protected] 5 points 2 years 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.

[–] [email protected] 71 points 2 years ago (1 children)

Sounds like Rust propaganda to me >:(

[–] [email protected] 49 points 2 years ago (2 children)

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

[–] [email protected] 25 points 2 years 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

[–] [email protected] 15 points 2 years ago* (last edited 2 years ago) (3 children)

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.

[–] [email protected] 8 points 2 years ago (2 children)

Would know, I've never had a runtime error in Rust /s

load more comments (2 replies)
load more comments (2 replies)
[–] FreeloadingSponger 60 points 2 years ago* (last edited 2 years ago) (3 children)

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 12 points 2 years 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

[–] [email protected] 11 points 2 years 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

[–] [email protected] 8 points 2 years ago

Ah yes, SQL and their games.

[–] [email protected] 60 points 2 years ago (4 children)

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

[–] [email protected] 24 points 2 years ago

The world's angriest compiler.

[–] [email protected] 19 points 2 years ago (2 children)
[–] KazuoZeru 7 points 2 years ago

Reading their page gave me a good laugh. Didn't know about this before, and I'm glad to have learned about its existence

load more comments (1 replies)
[–] [email protected] 15 points 2 years ago

When the compiler is being more helpful than you realize.

[–] [email protected] 9 points 2 years ago

That's actually hilarious

[–] [email protected] 49 points 2 years ago (5 children)

C just shrugs and says "Seg Fault."

[–] [email protected] 11 points 2 years ago

Have you tried segmenting in a non-faulty way?

[–] frostwhitewolf 7 points 2 years ago (1 children)

Probably forgot a semicolon

[–] [email protected] 14 points 2 years ago

This joke is never funny; Forgetting a semicolon in c results in compile time errors, not runtime errors

[–] Aceticon 6 points 2 years ago

"Shit happenned!"

[–] [email protected] 3 points 2 years ago

The range those words induce is crazy

[–] [email protected] 42 points 2 years ago* (last edited 2 years ago) (2 children)

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.

[–] [email protected] 8 points 2 years ago (1 children)

What about the fact it invades your dreams and slowly drives you insane?

[–] [email protected] 11 points 2 years ago* (last edited 2 years 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 3 points 2 years ago (3 children)

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.

load more comments (3 replies)
[–] [email protected] 20 points 2 years ago (3 children)

Yeah, but which one i cooler?

[–] [email protected] 6 points 2 years ago

Rust because having a package manager is important.

Even C has a package manager

[–] [email protected] 3 points 2 years ago (2 children)

Well at least C++ definitely is far away from cool, you can imagine the rest...

load more comments (2 replies)
[–] [email protected] 19 points 2 years ago (1 children)

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.

[–] [email protected] 5 points 2 years ago (2 children)

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)

load more comments (2 replies)
[–] [email protected] 18 points 2 years ago (1 children)

Clearly, you haven't gcc & gdb...

[–] [email protected] 12 points 2 years ago (6 children)

I love gcc but it can't make nested template errors any less horrifying

load more comments (6 replies)
[–] [email protected] 15 points 2 years ago (2 children)

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

[–] [email protected] 17 points 2 years ago (1 children)

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

load more comments (1 replies)
[–] [email protected] 9 points 2 years ago* (last edited 2 years ago)

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)

[–] [email protected] 13 points 2 years ago* (last edited 2 years ago) (1 children)

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.

load more comments (1 replies)
[–] [email protected] 10 points 2 years ago

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?"

[–] dreadedsemi 7 points 2 years ago (1 children)
[–] [email protected] 5 points 2 years ago (1 children)
load more comments (1 replies)
[–] [email protected] 6 points 2 years ago (1 children)

Ever tried using typenum numerals in Rust? 😅

Try it and see the errors with something like typenum::U500.

[–] [email protected] 4 points 2 years ago

Or deeply cascaded generic code with a lot of trait-bounds...

[–] miridius 5 points 2 years ago

Clojure: hold my beer

[–] Aceticon 4 points 2 years ago* (last edited 2 years ago)

"Fuck you ... or not. One day ... or two ... or every day. For certain, when you least expect it"

(C++ errors involving memory pointers)

load more comments
view more: next ›