this post was submitted on 28 Jul 2026
478 points (96.0% liked)

Programmer Humor

32547 readers
1579 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 3 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] ImgurRefugee114@reddthat.com 70 points 3 days ago* (last edited 3 days ago) (3 children)

It's not a glass, it's the

hydrationContainerManagerObjectFactory

Not to be confused with the

hydrationContainerManagerTypeFactory

Which is the template

[–] Valmond@lemmy.dbzer0.com 27 points 3 days ago

You forgot the AbstractHydrationManager

[–] Viceversa@lemmy.world 10 points 3 days ago (1 children)

Do developers still code in such a manner?

[–] jaybone@lemmy.zip 15 points 3 days ago

Some of those patterns were actually good design, until everyone went overboard with them. Now the pendulum has swung the complete opposite way and there’s a ton of duplicate code often generated from actual templates.

[–] unwarlikeExtortion@lemmy.ml 1 points 2 days ago* (last edited 2 days ago)

you mean

glass Glass;

which is almost worse than stringing together random fancy words.

(Edit: added backticks for that nice mono font)

[–] socsa@piefed.social 16 points 2 days ago

Senior engineer: the glass is self documenting.

[–] Kolanaki@pawb.social 35 points 3 days ago* (last edited 3 days ago) (9 children)

Unless it is in a vacuum, the glass is full.

50% water, 50% gas mixture.

[–] rockerface@lemmy.cafe 37 points 3 days ago

Topologist: The glass is full of glass. Everything else is on the outside.

https://what-if.xkcd.com/6/

no, I actually wanted it empty

[–] rmuk@feddit.uk 5 points 2 days ago

I can't believe no-one else has posted this yet.

Relevant xkcd: https://what-if.xkcd.com/6/

Also, relevant xkcd video: https://youtu.be/0EytSWiKrFg

load more comments (6 replies)
[–] Ftumch@lemmy.today 36 points 3 days ago* (last edited 3 days ago) (1 children)

That's not a good comment. What it is should be clear from the naming and context. A good comment explains the why when that is not obvious:

// This glass is at 50% capacity because we don't want it to overflow if it rains
[–] one_old_coder@piefed.social 13 points 3 days ago (2 children)

And in 5 years you will wonder why the glass is under the rain because someone didn't put that in the specifications.

[–] hakunawazo@lemmy.world 1 points 2 days ago

A software tester walks into a bar

Runs into a bar.
Crawls into a bar.
Dances into a bar.
Flies into a bar.
Jumps into a bar.

And orders:

a beer.
2 beers.
0 beers.
99999999 beers.
a lizard in a beer glass.
-1 beer.
"qwertyuiop" beers.
Testing complete.

A real customer walks into the bar and asks where the bathroom is.

The bar goes up in flames.

load more comments (1 replies)
[–] Avicenna@programming.dev 19 points 3 days ago (2 children)

//don't remove this comment or else

Load bearing comment

[–] KokusnussRitter@discuss.tchncs.de 7 points 3 days ago (1 children)

//what if I remove this comment and else?

[–] AstroLightz@lemmy.world 4 points 3 days ago (1 children)

//Then line 368 that checks if the comment exists will fail and will be sad

load more comments (1 replies)
[–] FuglyDuck@lemmy.world 23 points 3 days ago (1 children)

Opportunist... "It's an empty glass. I drank it while you were arguing."

[–] jason@discuss.online 6 points 3 days ago

Scientist.. "it's half empty because the water is slowly evaporating."

[–] BorgDrone@feddit.nl 20 points 3 days ago (3 children)

Engineer: this glass is twice as big as it needs to be.

load more comments (3 replies)
[–] Racoonwithbenefits@lemmy.zip 19 points 3 days ago* (last edited 3 days ago) (1 children)

While filling the glass: glass is half full

While emptying the glass: glass is half empty

Context matters

Comment would be whether glass is being emptied or filled

[–] OwOarchist@pawb.social 6 points 3 days ago* (last edited 3 days ago) (1 children)

Comment would be whether glass is being emptied or filled

What if it's neither (and unknown which it was previously), and the glass is just sitting there?

[–] jaybone@lemmy.zip 6 points 3 days ago

IllegalStateException

[–] UpperBroccoli@lemmy.blahaj.zone 10 points 2 days ago
/**
 * @brief This is the coffee cup class
 * 
 * This class describes a cup or mug that neatly integrates a
 * container for vectors of cCoffee instances with a fully
 * functional handle to carry the cup or mug around. Used for 
 * pretty much everything.
 */
class cTallGlass : public cGlass {
[–] SnotFlickerman@lemmy.blahaj.zone 10 points 3 days ago* (last edited 3 days ago) (1 children)
// This is a Glass class
class Glass {
     filled(halfFull,  halfEmpty) {
         this.halfFull;
         this.halfEmpty;
         }
}
[–] jaybone@lemmy.zip 3 points 3 days ago

What the hell kind of glass is this?

[–] sunbeam60@feddit.uk 2 points 2 days ago

Feel like we’re missing an overflow joke here!

Or something like: // initialise a glass using max water value as indicator that glass is unused

[–] RustySharp@programming.dev 9 points 3 days ago (2 children)

The current legacy code I'm dealing with is full of these:

// TODO: Class description here to satisfy linter

[–] Valmond@lemmy.dbzer0.com 6 points 3 days ago (8 children)
[–] Jankatarch@lemmy.world 3 points 2 days ago

That sounds horribe, actually.

load more comments (7 replies)
load more comments (1 replies)
[–] TheMightyCat@ani.social 5 points 3 days ago
// This might be a glass
Glass* glass = dynamic_cast<Glass*>(container);
[–] dan@upvote.au 8 points 3 days ago* (last edited 3 days ago) (1 children)

AI loves inserting comments like this.

Either that or 20-line comments documenting the bugs in the old code, what this code does differently, and the exact implementation.

Comments describing the exact implementation become stale very quickly. Comments shouldn't explain what the code does (eg "add two to rowCount"); they should explain why it does it (eg "include header and footer row in count too"). Extra details are what the commit message is for, and history is what source control is for.

I call it out in a lot of my code reviews ("code looks good but clean up the AI slop comments before landing") but a lot of other developers don't care as much about code and documentation quality.

[–] partofthevoice@lemmy.zip 1 points 2 days ago

It really pisses me off when the fucking thing starts referring to the patched code as “updated” in the README, comments, function names… Stupid bot needs to be told not to implicitly refer to prior versions of the code, always regarding current state as initial release. Why the shit do I even need to say that?

[–] saxrussell@slrpnk.net 6 points 3 days ago

Engineer: The glass is too big!

[–] akunohana@piefed.blahaj.zone 6 points 3 days ago

IT support chatbot when the client asks how to get an empty/full glass to display: You're absolutely right! I couldn't have said it better myself: This is a glass. 😊🥛

[–] observes_depths@aussie.zone 1 points 2 days ago

Capacity = 0.5

[–] kalapala@sopuli.xyz 5 points 3 days ago* (last edited 3 days ago)

Commented out glass is certainly a problem (if it's not only a comment) as the instance of object is created elsewhere but there's some more problems in the code:

-Software tester removes the glass but the water still stands there in the shape of the glass.

-QA tries to pour the water in to the glass but water doesn't register and the glass doesn't fill.

-Performance testing notes that rendering the glass needs some optimization since the glass doesn't fill over 50% before being out of memory.

-Junior programmer can't get the glass to run since the liquids library wasn't locked down and got an incompatible update.

-Automation testing results in to a crash with a screenshot and logs that point out that glass frontend use the old version of the glass backend API leading the glass to freeze.

-External testing points out that there's a bug in the glass but they can't identify it.

[–] amio@lemmy.world 5 points 3 days ago* (last edited 3 days ago)
Glass _glass = new Glass(); //make variable glass of type glass and make a new glass
///<captainusefuldoc>Gets the glass</captainusefuldoc>
Glass getGlass() => _glass; //get the glass in _glass
[–] Codpiece@feddit.uk 5 points 3 days ago

You guys are getting code comments???

[–] Shalien@piefed.projetretro.io 5 points 3 days ago (2 children)

//This a glass // To get the quantity and type of content use
// glass->qty : float
// glass->content : glass_content

[–] LeFrog@discuss.tchncs.de 5 points 3 days ago (1 children)
if glass.empty?
  make_sad_noise
else
  homi.hydrate(glass.qty)
end
load more comments (1 replies)
[–] red_tomato@lemmy.world 4 points 3 days ago

How can you be so sure other readers will understand floating point numbers? Better include the entire IEEE 754 standard just in case.

load more comments
view more: next ›