this post was submitted on 26 May 2025
569 points (96.3% liked)

Programmer Humor

23842 readers
4098 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
[–] otter@lemmy.ca 80 points 1 week ago (4 children)

There's a quote along the lines of "User error is not a thing, the system allowed for the error through bad design"

Which can be true depending on how far you stretch it. I'd say that if a chunk of the user base is having a problem, it's a design problem

[–] dfyx@lemmy.helios42.de 43 points 1 week ago* (last edited 1 week ago) (2 children)

I recently had a case at work where you could move an object by holding the left mouse button and delete it with the right mouse button. If you deleted it while moving, you got an error message and the program would crash. It was an easy fix but afterwards I had a one hour discussion with our usability engineers if what I had fixed was a bug (my opinion) or a user error (theirs).

[–] Jesus_666@lemmy.world 32 points 1 week ago* (last edited 1 week ago) (1 children)

That one's easy. Is the crash part of the program's design?

If not: It's an implementation bug, the program is not behaving as intended.

If yes: It's a design bug, crashes shouldn't be intended behavior.

[–] dfyx@lemmy.helios42.de 23 points 1 week ago* (last edited 1 week ago) (3 children)

Their argument was along the lines of "The requirements and design don't specify what should happen if you move and delete at the same time so it can't be a bug. Behavior that doesn't violate the design but also doesn't lead to the result the user wanted is a user error". My argument was that we can't always specify the interaction between arbitrary features other than "If the user does two things at once, at least one of them should be executed, ideally both" and "the program shouldn't crash just because the user did something unexpected". Otherwise our design document would be ten times as long.

[–] nogooduser@lemmy.world 28 points 1 week ago (1 children)

I think that there is always an implied design requirement of the program shouldn’t crash.

[–] dfyx@lemmy.helios42.de 12 points 1 week ago (1 children)

You would think so, right? But that doesn't have a requirement ID so apparently it can't be referenced in the incident report.

[–] entropicdrift@lemmy.sdf.org 4 points 1 week ago (1 children)

Sounds like the devs are cowards. Or maybe their pay counts on it not being a bug

[–] dfyx@lemmy.helios42.de 9 points 1 week ago (1 children)

Software for a medical device. Everything needs to be done exactly right and documented in three different places or else the regulatory agencies from at least three countries get really angry at you and worst case pull your device from circulation. Less cowardice and more cover your ass. Still annoying though.

[–] entropicdrift@lemmy.sdf.org 3 points 1 week ago

I see, so it's a situation where catching the full blame can tank your career. Yeah, that makes sense.

[–] Jesus_666@lemmy.world 21 points 1 week ago (2 children)

Yeah, that's basically the kind of logic you use when designing a low-level programming language: If we didn't define what happens here then anything that happens is correct behavior and it's up to the user to avoid it.

Of course applying that logic to a GUI application intended for a comparatively nontechnical audience is utter madness.

[–] nous@programming.dev 17 points 1 week ago

That is the type of thinking that causes a massive amount of CVEs in those languages.

[–] mobotsar@sh.itjust.works 6 points 1 week ago* (last edited 1 week ago) (1 children)

That's the kind of logic people historically used when designing low level programming languages. It's not the kind of logic you should use or that people nowadays usually do use. Undefined behavior is widely seen as a Bad Thing in the programming language design community.

[–] Jesus_666@lemmy.world 2 points 1 week ago* (last edited 1 week ago)

Oh, don't get me wrong, I fully agree. Undefined behavior is terrible UX and a huge security risk.

Undefined behavior was kind of okay when RAM and storage were measured in kilobytes and adding checks for this stuff was noticeably expensive. That time has passed, though, and modern developers have no business thinking like that, even ones working on low-level languages.

I should've phrased my comment differently.

[–] nous@programming.dev 7 points 1 week ago

Hey, the design specs never said the program shouldn't blast out and air raid siren at full volumn every time the user clicks a button. Cannot be a bug, must be user error.

[–] Gyroplast@pawb.social 8 points 1 week ago

They were holding it wrong, obviously.

[–] exu@feditown.com 7 points 1 week ago (1 children)

God really should get on that and fix the design issues with humans

[–] Aurenkin@sh.itjust.works 5 points 1 week ago

I dunno, if we're really designed in that dudes image then I wouldn't trust him at all personally.

[–] Kache@lemm.ee 4 points 1 week ago* (last edited 1 week ago)

But IMO that's one reason weird UX/design is not uncommon and can persist in dev ecosystems. The intended users are more proficient than average and most are able to work around most issues.

[–] Kache@lemm.ee 2 points 1 week ago* (last edited 1 week ago)