this post was submitted on 20 Oct 2025
147 points (96.2% liked)

Programmer Humor

28287 readers
1160 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
 
you are viewing a single comment's thread
view the rest of the comments
[–] bleistift2@sopuli.xyz 10 points 2 months ago (4 children)

Is there ever an instance when you do want to compare object identity instead of “equal”-ness? I find this behaviour just confusing for beginners and not useful for experts.

[–] calcopiritus@lemmy.world 5 points 2 months ago (1 children)

There are use cases. Like containers where the pointer to the object itself is the key (for example a set). But they are niche and should be implemented by the standard library anyway. One of the things I hate most about Java is .equals() on strings. 99.999% of times you compare strings, you want to compare the contents, yet there is a reserved operator to do the wrong comparison.

[–] marcos@lemmy.world 1 points 2 months ago

Java has the hash interface for using in containers. You don't need to override equality for it.

[–] expr@programming.dev 5 points 2 months ago

99.99% of the time you want to compare by value, which is why languages defaulting to comparing by reference is a stupid default.

[–] Redkey@programming.dev 3 points 2 months ago

Not to take away from your very good point, but I think the word you might be looking for is "eqivalence".

[–] anton@lemmy.blahaj.zone 1 points 2 months ago

Is there ever an instance when you do want to compare object identity instead of “equal”-ness?

Maybe if you have to check if the object is one you already hold a lock for or account for some similar consequence of questionable architecture.