this post was submitted on 17 Apr 2026
643 points (94.6% liked)

Programmer Humor

31019 readers
1099 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
 
top 50 comments
sorted by: hot top controversial new old
[–] Thetechloop@programming.dev 2 points 16 hours ago* (last edited 15 hours ago)

AI is corpo_slob theft. AI is used to kill kids. AI is a exponential decay feedback loop deskilling method brought to by the capitalist class. It will be used to lower wages. It will create security traps where the corpos can gain... ohhh the drama!!! We need regulation META cries....The lady doth protest too much, methinks, dolla dolla bills ya'll. It will be used to spy on you and take away your free speech. It is a Poisonous cup of pee. We need more than cheese buger farts and violence. I want to live in a real culture not the techno bro hoedown. After the magic trick, they will pull the rug and you will be left with nothing, without a job. Lower the standards, corner the domestic market, lose the war and claim victory... seems fimilar too me. We are past the point of regulation. Wait til you see the effects of digital ID. They got black sites in the USA were the keep kids in cages... the tech bro and his slave trackers, thats how they get you. Bugs everywhere sold to you as tools and as toys. Language is Language and it changes over time. Empires are built on the ashes of others. Innovation and creation is communication and cooperation. The kings love to pick their fruit of the peasants labor as the knights protect the castles walls. We are entering stagflation and corpotechbro fuedalism. Slop be ass far ass the eye can see. The war in ukraine and the genocide in gaza are connected. The iceburg not fully revealed... the capitalist class is a trashy family... but they stick together and run their games. Look up 7 mountain mandate... now thats some Manchurian candidate

[–] chunes@lemmy.world 2 points 17 hours ago (2 children)

A lot of the arguments people use against vibe coding sounds a lot like "You shouldn't use a high-level programming language unless you understand the assembly it compiles to."

[–] mabeledo@lemmy.world 2 points 6 hours ago (1 children)

Except for the bit where LLM behaviors aren’t deterministic, but those of most compilers in most situations are.

And before anyone says that LLVM in version X produced wildly different assembly from version Y, it is not remotely comparable to what LLMs do, not even close.

[–] chunes@lemmy.world 1 points 2 hours ago

Yep, but if you ask me to solve the same problem at different times I probably wouldn't write the same code either.

[–] pinball_wizard@lemmy.zip 3 points 16 hours ago* (last edited 16 hours ago)

Yes. It's the same thing, except when I joined the market knowing fuck all about computers, while coding with my cute little BASIC commands; there wasn't some tech bro asshole telling all the C programmers that their skills would no longer be required. Or at least he (implicated in Epstein files billionaire, Bill Gates) wasn't saying it quite so loudly (as accused rapist billionaire Sam Altman).

Incidentally, I still work with that same C programmer, I'm still learning from them, but have since taught them a trick or two; and we both now charge sinful amounts of money for our time.

[–] el_abuelo@programming.dev 7 points 23 hours ago (2 children)

I know I'm gonna get flamed for this, but here goes.

I have vibe coded a system at work that has enabled me to deliver value in a fraction of the time I expected. My verification steps have been around whether it does the things I told it I wanted it to do. I'm not maintaining the syntax and I'm not expecting anyone else to. Ever.

That said, our teams that deliver products that touch customer data or financial records....they shouldnt (and dont) engineer this way. The tech isnt there (yet).

Let the flaming commence.

[–] MonkeMischief@lemmy.today 1 points 16 hours ago* (last edited 16 hours ago) (1 children)

"...enabled me to deliver value in a fraction of the time I expected."

I don't wanna flame you for it.

This is kinda where I see vibe coding taking off the most: The same phenomenon as using LLMs to summarize and reply to pithy business emails.

Business gets so unbearably businessy, people are using machines to bypass the inherently un-human "professionalism performance" for them.

It might not be work anybody can claim to be proud of, but right now success for the professional-managerial class runs on looking busy and circling back to synergizing the workflow with best practices for optimal returns regarding key performance metrics 🤢 or whatnot.

I don't blame people for it, in a work context. Looking impressive with AI tools is now a survival tactic when working under normies holding the purse strings and investing stupid amounts of money into the bubble. They've forced people to be part of a circular, self-reinforcing imaginary reality they're profiting from.

So, I don't wanna flame you. I just hope you're doing something fundamentally human to keep your soul alive on the side, at least. Something you as a unique human being on this earth can be proud of. <3

[–] el_abuelo@programming.dev 0 points 12 hours ago

Honestly im proud of the problems I'm able to solve today now that I can use AI to do it so quickly.

Even when I stop and manually check all the work the AI has done, it's still much faster and I'm having to rely on my knowledge and experience to do so. When I'm vibe coding I'm relying on that same knowledge and experience to architect the solution rather than deliver it.

Ive seen the other side- the colleagues who all of a sudden think theyre engineers and are unknowingly exposing critical commercial data to our competitors. That side is scary...and gives me hope that my role while changing, is far from dead.

Also I have hobbies - i only work to pay for them. If "the man" wants to pay me to spend tokens...fine by me. I'll be here to clean it up if it all goes wrong.

[–] Witchfire@lemmy.world 5 points 23 hours ago (4 children)

You make the billionaires proud, such a good lil capitalist

[–] Gorilladrums@lemmy.world 2 points 18 hours ago

For having a job? You're unemployed, aren't you?

[–] mfed1122@discuss.tchncs.de 2 points 18 hours ago

And what form of employment do you have which doesn't support billionaires?

[–] el_abuelo@programming.dev 5 points 23 hours ago

I'm just trying to do my job in the system I'm in friend.

[–] yes_this_time@lemmy.world 1 points 16 hours ago

Why couldn't this apply any to a non profit or public service? What makes it inheritingly capitalist?

Or are you presuming the model is owned by a for profit corporation?

[–] SnarkoPolo@lemmy.world 1 points 17 hours ago

I think I know who did that meme. We had a programmer by that name who did just that.

[–] razzazzika@lemmy.zip 3 points 1 day ago (1 children)

So... Just like any other legacy system you inherit.

[–] JackbyDev@programming.dev 3 points 22 hours ago* (last edited 22 hours ago) (1 children)

I once heard someone describe legacy systems as systems without test coverage. I think it's not the best description, but it's certainly an interesting perspective.

It's part of why it bothers me when folks say they use LLMs to make unit tests. If anything, you should be writing tests by hands to get a solid specification then let the AI make the code. Of course this is a false dichotomy, but I'm just saying if you have to choose between those two options in some weird hypothetical bizarro world.

[–] Shanmugha@lemmy.world 1 points 18 hours ago

Not the best description doesn't cut it, it's just false description. I can easily write a system with 100% test coverage, bugged as hell and containing so many weird abstraction tricks that it takes a significant effort to figure out even what is happening in the simplest scenario. And yes, part of that hundred percent coverage is going to be llm style: test that something does what you already know it does

[–] umbrella@lemmy.ml 33 points 1 day ago* (last edited 1 day ago) (5 children)

actually, be exactly like bill. boss wants slop, boss gets slop.

boss wants incomprehensible buggy code? that's right, boss gets incomprehensible buggy code.

[–] dream_weasel@sh.itjust.works 5 points 1 day ago

Be sure to ask Claude to remove all comments, tests, and dry runs, then ask if there's a good way you can make the code more complicated without increasing runtime more than 40%.

[–] psud@aussie.zone 5 points 1 day ago (1 children)

Sorry, you were hired as a prompt engineer, your prompt wasn't good enough to make perfect code, so you are fired

[–] Shanmugha@lemmy.world 1 points 18 hours ago* (last edited 18 hours ago)

Nah. A bunch of llm code review agents say that produced code is of high quality, fire anyone who said it would have taken for them to implement same functionality more time than I have spent

[–] python@lemmy.world 3 points 1 day ago (1 children)

That's only fine as long as there aren't coworkers who have to fix all that shit

[–] umbrella@lemmy.ml 4 points 1 day ago

you mean by unionizing right?

load more comments (2 replies)
[–] MoonRaven@feddit.nl 51 points 2 days ago (18 children)

I've seen the comments AI adds and yeah... No.... It's often pointing out the obvious or even in some cases just misleading.

[–] miridius@lemmy.world 0 points 9 hours ago

Out of the box yes this is true, but:

  1. Custom instructions go a long way
  2. Review the code yourself, tell it what to fix, and it will fix it. For me it often takes like 5 rounds of this before the code is fully polished to the point I'm proud of it. And you know what? It's still MULTIPLE times faster than typing code by hand. And at least for me, the quality is higher, because I have 12 different agents that review the work too and they catch additional issues that even I missed.

If you or others ship shitty code don't blame the LLM, the issue is entirely the engineer using it wrong

[–] architect@thelemmy.club 2 points 1 day ago (1 children)

Yea the comments are awful. More useless than dog shit.

[–] miridius@lemmy.world -1 points 10 hours ago

Skill issue tbh

[–] Enkrod@feddit.org 10 points 1 day ago* (last edited 1 day ago) (1 children)

I told my boss I wouldn't use AI to help write code and sign off on the commits with my name. He told me to use it to write the documentation... it was bad. Essential concepts were not mentioned and obvious shit was explained five times in slightly different phrasing. I am now writing our documentation as an obsidian vault myself again.

I only have it compile a change log from the commit messages of commits and merges on the main and development branch. I know our commits are well written (because I established the standards for them in our repo myself) and that's concrete and rigid enough that it can't fuck it up enough to matter.

But honestly there are build tools that could do that for me, I don't need to buy tokens for that.

[–] pinball_wizard@lemmy.zip 6 points 1 day ago* (last edited 1 day ago)

honestly there are build tools that could do that for me, I don't need to buy tokens for that.

Yes. This is where every "have you tried Agentic AI?" conservation lands, for me.

They tell me I could pay daily, for worse results, to give up the bash script that has worked perfectly for five years. Oh, gee. Tell me more! Haha.

load more comments (15 replies)
[–] bilb@lemmy.ml 5 points 1 day ago (1 children)

Does Bill have the flaming frenzy within?

[–] Shanmugha@lemmy.world 2 points 18 hours ago

He better not have his spine poked by anything sharp :)

(in cade I failed at it: reference to Midra)

[–] Thorry@feddit.org 38 points 2 days ago* (last edited 2 days ago) (9 children)

Asking an LLM to add comments is actually pretty much the worst thing you can do. Comments aren't meant to be documentation and LLMs have a habit of writing documentation in the comments. Documentation is supposed to be in the documentation, not in the code. LLMs are often trained on things like tutorials, where super obvious statements are commented to allow people to learn and follow along. In actual code you absolutely do not do this, obvious statements should be obvious by themselves. At best it's extra work to read and maintain the comments for obvious statements, at worst they are incorrect and misleading. I've worked on systems where the comments and the code weren't in line with each other and it was a continual guess if the comment is the way it was supposed to work, or if the code is correct and the comment wrong.

So when do you actually add comments? That's actually very hard, something people argue about all the time and a bit of an art form to get right. For example if I have some sort of complex calculation, but it's based on a well known algorithm, I might comment the name of that algorithm. That way I can recognize it myself right away and someone that doesn't know it can look it up right away. Another good indicator for comments are magic numbers. It's often smart to put these in constants, so you can at least name them, but a small little comment to indicate why it's there and the source can be nice. Or when there is a calculation and there's a +1 for example in there somewhere, one might ask why the +1, then a little comment is nice to explain why.

Comments should also serve like a spidey sense for developers. Whenever you are writing comments or have the urge to add some comments somewhere, it might be an indicator the code is messy and needs to be refactored. Comments should be short and to the point, whenever you start writing sentences, either start writing documentation or look at the code why it's required to explain so much and how to fix that.

Another good use for comments is to warn away instincts for future devs. For example in a system I worked on there is a large amount of code that seems like it's duplicate. So a new dev might look at it and see a good place to start refactoring and remove the duplicated code. However the duplication was intentional for performance reasons, so a little comment saying the dupe is intentional is a good idea.

I've also seen comments used to describe function signatures, although most modern languages have official ways of doing that these days. These also might border on documentation, so I'd be careful with that.

LLMs also have a habit of writing down responses to prompts in the comments. For example the LLM might have written some code, you say: Hey that's wrong, we shouldn't set x to y, we should set it to z. And the LLM writes a comment like // X now set to Z as requested. These kinds of comments make no sense to people reading the code in the future.

Keep in mind comments are there to make it easier for the next guy to work on the code, and often that next guy is you. So getting it right is important and hard, but very much worth while. What I like to do is write code one day and then go back and read it the next day or a few days later. And not the commit, with the diff and the description, the actual files beginning to end. When I think something is weird or stands out, I'll go back and edit the code and perhaps add comments.

IMHO LLMs are terrible at writing code, it's often full of mistakes and oversights, but one of the worst parts is the comments. I can tell code was AI generated right away by the comments and those comments being present are a good indicator the "dev" didn't bother to actually read and correct the code.

[–] jtrek@startrek.website 31 points 2 days ago (2 children)

There's also the class of comments that explain strange business decisions.

# Product guy said to return January 1st if the user doesn't have a birthday on record

Kind of arbitrary but someone with decision making power decreed it.

[–] baines@lemmy.cafe 14 points 2 days ago* (last edited 2 days ago)

this is among the most important comment types that exist imo

it may not seem like it but 20 years and 5million lines later when shit behaves odd because of some non standard code practice this type of comment is a life saver

load more comments (1 replies)
load more comments (8 replies)
[–] slazer2au@lemmy.world 26 points 2 days ago (3 children)

Bill doesn't understand liability clauses in contracts when he sells his vibe coded shit as a SaaS platform and gets popped because AI forgot about SQL injection.

[–] Dumhuvud@programming.dev 2 points 1 day ago

OWASP Top 10 is pretty much a list of suggestions for vibe-coders.

load more comments (2 replies)
load more comments
view more: next ›