this post was submitted on 28 Jul 2026
481 points (96.2% liked)

Programmer Humor

33033 readers
1657 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 72 points 1 month ago* (last edited 1 month ago) (2 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 30 points 1 month ago

You forgot the AbstractHydrationManager

[–] Viceversa@lemmy.world 11 points 1 month ago (1 children)

Do developers still code in such a manner?

[–] jaybone@lemmy.zip 15 points 1 month 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.

[–] Ftumch@lemmy.today 41 points 1 month ago* (last edited 1 month 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 15 points 1 month 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.

[–] xthexder@l.sw0.com 3 points 1 month ago

Inevitably whatever is under the glass gets wet anyway... because it's raining.

load more comments (1 replies)
[–] Kolanaki@pawb.social 36 points 1 month ago* (last edited 1 month ago) (4 children)

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

50% water, 50% gas mixture.

[–] rockerface@lemmy.cafe 41 points 1 month ago

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

[–] isolatedscotch@discuss.tchncs.de 12 points 1 month ago

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

no, I actually wanted it empty

[–] rmuk@feddit.uk 6 points 1 month 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

[–] surewhynotlem@lemmy.world 4 points 1 month ago (6 children)

If it were a vacuum the water would quickly boil away with any remaining turning to ice.

load more comments (6 replies)
[–] FuglyDuck@lemmy.world 26 points 1 month ago (1 children)

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

[–] jason@discuss.online 7 points 1 month ago

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

[–] BorgDrone@feddit.nl 22 points 1 month ago (3 children)

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

[–] saxrussell@slrpnk.net 3 points 1 month ago

Ha, sorry just saw your post! 😆 Wise minds and such… 😉

load more comments (2 replies)
[–] Avicenna@programming.dev 21 points 1 month ago (2 children)

//don't remove this comment or else

[–] greedytacothief@lemmy.dbzer0.com 17 points 1 month ago

Load bearing comment

[–] KokusnussRitter@discuss.tchncs.de 8 points 1 month ago (1 children)

//what if I remove this comment and else?

[–] AstroLightz@lemmy.world 5 points 1 month ago (1 children)

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

load more comments (1 replies)
[–] socsa@piefed.social 17 points 1 month ago

Senior engineer: the glass is self documenting.

[–] RustySharp@programming.dev 11 points 1 month 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 7 points 1 month ago (3 children)
[–] OwOarchist@pawb.social 3 points 1 month ago (1 children)
"""
only one line for your comment?
fucking amateur
this comment uses five lines
"""
[–] xthexder@l.sw0.com 5 points 1 month ago (1 children)
/*
 * this five line comment
 * is formatted C plus plus
 * and is a haiku
 */
[–] jerkface@lemmy.ca 3 points 1 month ago (2 children)

A haiku has to use elements of the natural world in a symbolic manner.

[–] RustySharp@programming.dev 3 points 1 month ago

elements of the natural world in a symbolic manner

What about elements of HTML? It also has symbols.

[–] xthexder@l.sw0.com 3 points 1 month ago* (last edited 1 month ago) (1 children)

Eh, my bad. I figured that was somewhat optional given it's English and already kind of an adaptation. Fixing it is more effort than I'm willing to put in tho

The whole Wikipedia page on English Haiku makes it seem like there's a lot of room for interpretation

load more comments (1 replies)
[–] Jankatarch@lemmy.world 3 points 1 month ago

That sounds horribe, actually.

load more comments (1 replies)
[–] one_old_coder@piefed.social 2 points 1 month ago

Don't you have stuff like // NOLINTNEXTLINE to explicitely disable some lints?

[–] SnotFlickerman@lemmy.blahaj.zone 11 points 1 month ago* (last edited 1 month ago) (1 children)
// This is a Glass class
class Glass {
     filled(halfFull,  halfEmpty) {
         this.halfFull;
         this.halfEmpty;
         }
}
[–] jaybone@lemmy.zip 3 points 1 month ago (1 children)

What the hell kind of glass is this?

load more comments (1 replies)
[–] UpperBroccoli@lemmy.blahaj.zone 9 points 1 month 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 {
[–] dan@upvote.au 8 points 1 month ago* (last edited 1 month 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.

load more comments (1 replies)
[–] saxrussell@slrpnk.net 6 points 1 month ago

Engineer: The glass is too big!

[–] Shalien@piefed.projetretro.io 5 points 1 month 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 1 month ago (1 children)
if glass.empty?
  make_sad_noise
else
  homi.hydrate(glass.qty)
end
[–] rbn@sopuli.xyz 3 points 1 month ago

You should check against homi.healthyCapacity first unless you want to drown them.

[–] red_tomato@lemmy.world 4 points 1 month ago

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

[–] amio@lemmy.world 5 points 1 month ago* (last edited 1 month 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
[–] kalapala@sopuli.xyz 5 points 1 month ago* (last edited 1 month 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.

[–] akunohana@piefed.blahaj.zone 5 points 1 month 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. 😊🥛

[–] TheMightyCat@ani.social 5 points 1 month ago
// This might be a glass
Glass* glass = dynamic_cast<Glass*>(container);
[–] Codpiece@feddit.uk 5 points 1 month ago

You guys are getting code comments???

[–] WanderingThoughts@europe.pub 3 points 1 month ago

Marketing: the glass is perfectly dimensioned to transport that amount of water without spilling anything! Buy yours now for a discount! Terms and conditions may apply.

load more comments
view more: next ›