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

Programmer Humor

18292 readers
1283 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 1 year ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] Saneless 93 points 11 months ago* (last edited 11 months 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 11 months ago* (last edited 11 months 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 11 months 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 11 months ago (1 children)

Sounds like Rust propaganda to me >:(

[–] [email protected] 49 points 11 months 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 11 months 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 11 months ago* (last edited 11 months 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 11 months 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 11 months ago* (last edited 11 months 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 11 months 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 11 months 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 11 months ago

Ah yes, SQL and their games.

[–] [email protected] 60 points 11 months 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 11 months ago

The world's angriest compiler.

[–] [email protected] 19 points 11 months ago (2 children)
[–] KazuoZeru 7 points 11 months 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 11 months ago

When the compiler is being more helpful than you realize.

[–] [email protected] 9 points 11 months ago

That's actually hilarious

[–] [email protected] 49 points 11 months ago (5 children)

C just shrugs and says "Seg Fault."

[–] [email protected] 11 points 11 months ago

Have you tried segmenting in a non-faulty way?

[–] frostwhitewolf 7 points 11 months ago (1 children)

Probably forgot a semicolon

[–] [email protected] 14 points 11 months ago

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

[–] Aceticon 6 points 11 months ago

"Shit happenned!"

[–] [email protected] 4 points 11 months ago

The range those words induce is crazy

[–] [email protected] 42 points 11 months ago* (last edited 11 months ago) (5 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 11 months ago (1 children)

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

[–] [email protected] 11 points 11 months ago* (last edited 11 months 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.

load more comments (4 replies)
[–] [email protected] 20 points 11 months ago (3 children)

Yeah, but which one i cooler?

[–] [email protected] 6 points 11 months ago

Rust because having a package manager is important.

Even C has a package manager

[–] [email protected] 3 points 11 months 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 11 months 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 11 months 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 11 months ago (1 children)

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

[–] [email protected] 12 points 11 months 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 11 months ago (2 children)

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

[–] [email protected] 17 points 11 months 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 11 months ago* (last edited 11 months 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 11 months ago* (last edited 11 months 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.

[–] [email protected] 3 points 11 months ago

How compiler builders see peppa:

even number of nostrils

Missed opportunity.

[–] [email protected] 10 points 11 months 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 11 months ago (1 children)
[–] [email protected] 5 points 11 months ago (1 children)
load more comments (1 replies)
[–] [email protected] 6 points 11 months 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 11 months ago

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

[–] miridius 5 points 11 months ago

Clojure: hold my beer

[–] Aceticon 4 points 11 months ago* (last edited 11 months 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 ›