this post was submitted on 21 Mar 2025
302 points (98.1% liked)

Programmer Humor

21740 readers
2856 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 44 comments
sorted by: hot top controversial new old
[–] TedDallas@programming.dev 14 points 7 hours ago (1 children)

Vibe Coding essentially automates copy-and-pasting the answers from StackOverflow.com.

But sometimes it pastes in the code from the questions.

[–] TechieDamien@lemmy.ml 2 points 45 minutes ago

To be fair, sometimes it is right to take the code from the questions. Eg if you want behaviour x and the question is "how do I do y, my code is only doing x?" Then the code you want is from the question.

[–] xthexder@l.sw0.com 21 points 9 hours ago

If those vibe coders knew what a binary tree was, they'd be very upset.

[–] MajorHavoc@programming.dev 100 points 21 hours ago* (last edited 21 hours ago) (3 children)

Today I learned the term Vibe Coding. I love it.

Edit: This article is a treasure.

The concept of vibe coding elaborates on Karpathy's claim from 2023 that "the hottest new programming language is English",

Claim from 2023?! Lol. I've heard (BASIC) that (COBOL) before (Ruby).

A key part of the definition of vibe coding is that the user accepts code without full understanding.[1] AI researcher Simon Willison said: "If an LLM wrote every line of your code, but you've reviewed, tested, and understood it all, that's not vibe coding in my book—that's using an LLM as a typing assistant."[1]

Did we make it from AI hype to AI dunk in the space of a single Wikipedia article? Lol.

[–] Mirror Giraffe@piefed.social 3 points 4 hours ago

I've ended up becoming the sole caretaker of two react native apps, something I did not ask for but some people were fried.

I'm not going to manually troubleshoot and learn everything that breaks when I need to update a dependency. I'll vibe through those errors, learn what I have time for and then test it like mad.

A lot of the time I end up having to solve things myself but my job wouldn't be tolerable if I had to manually work that shit.

[–] Ephera@lemmy.ml 35 points 17 hours ago (1 children)

Interesting that the term was coined by someone who presumably intended it to mean a good thing. I assumed it to be an entirely derogatory term...

[–] Ropianos@feddit.org 10 points 12 hours ago* (last edited 12 hours ago) (3 children)

Well, lots of words are sort of derogatory in programming right? Hackers hacking things together, rubber duck debugging (you have a bug? Go talk to a toy!), git blame and probably more

Edit: forget git blame, git itself is already slang for idiot. As Linus Torvalds once said, he created two successful projects, both named after himself

[–] Ephera@lemmy.ml 3 points 11 hours ago (1 children)

Sure, but those words have been coined by the nerds, or those that don't try to sell you anything at least. The guy very much wants to sell you vibe coding and LLMs and whatnot.

[–] Ropianos@feddit.org 2 points 10 hours ago

Andrej Karpathy is absolutely a nerd to me. He's not about selling you LLMs but about teaching you how to build your own (I recommend checking his videos out, they are one of the best resources on LLMs)

[–] AnotherPenguin@programming.dev 2 points 10 hours ago

Anything can be derogatory if you try hard enough

[–] ulterno@programming.dev 2 points 11 hours ago

And reflog!

Oh! It was reflog, sry.

[–] sturlabragason@lemmy.world 9 points 20 hours ago

Dude, love ❤️

[–] vane@lemmy.world 6 points 13 hours ago

...into cursor or windsurf, how the fuck they come up with those names dude ? Vibe coding on windsurf.

[–] jmcs@discuss.tchncs.de 83 points 21 hours ago* (last edited 21 hours ago) (1 children)

Just wait until the vibe coder overwrites 3 months of "work" with garbage because ChatGPT never told them about git and then decided to poop the pants.

[–] jet@hackertalks.com 58 points 22 hours ago (2 children)

Now... Now... Wait until they have to debug it

[–] heavydust@sh.itjust.works 47 points 21 hours ago (2 children)

Or fix a simple syntax error. I've seen that a few times from juniors who thought they were too smart to learn, and it's painful to watch.

[–] scrubbles@poptalk.scrubbles.tech 8 points 20 hours ago

Yup, seeing that too. They're all proud of the work they didn't do, but the second there's a syntax error they panic.

[–] jackalope@lemmy.ml 4 points 20 hours ago

LLMs excel at fixing typos. That's honestly the most useful aspect of them.

[–] magic_lobster_party@fedia.io 28 points 21 hours ago (1 children)

They will resort to vibe debugging

[–] Artyom@lemm.ee 2 points 10 hours ago

"I'm a full stack Viber. Vibes all the way down"

[–] lowleveldata@lemmy.world 31 points 21 hours ago (1 children)

idk man. Algorithms are always the fun part for me. Real work, not so much.

[–] theneverfox@pawb.social 31 points 20 hours ago (1 children)

I love the in between, where you have to actually adapt algorithms to useful situations

It's like 2% of all the work I do, but those moments stick with me

[–] BleatingZombie@lemmy.world 4 points 17 hours ago (1 children)

I agree. But there's never much time for it

[–] theneverfox@pawb.social 2 points 8 hours ago

What do you mean? It's a problem in your way, it takes how long it takes to get through it

[–] Ephera@lemmy.ml 12 points 18 hours ago (2 children)

I mean, surely you did it for the exercise, right? If you needed a solution, you could've very likely used a library...

[–] chicken@lemmy.dbzer0.com 3 points 10 hours ago* (last edited 10 hours ago) (1 children)

Having fewer/no dependencies is nice though

[–] Ephera@lemmy.ml 1 points 8 hours ago (1 children)

Well, we have a tool for that called vendoring, a.k.a. copy-pasting the library code into your repo. It's no worse than copy-pasting LLM-generated code...

[–] chicken@lemmy.dbzer0.com 1 points 8 hours ago* (last edited 8 hours ago)

To me the disadvantage would be, the library likely does many more things than just what you need it for, so there is way more code, so you probably can't realistically read and understand it yourself before incorporating it. This would lead to among other issues the main thing that irritates me about libraries; if it turns out something in it is broken, you are stuck with a much bigger debugging problem where you first have to figure out how someone else's code is structured.

Although I guess that doesn't apply as much to implementations of common algorithms like OP since the library is probably solid. I would consider favoring LLM code over most anything off npm though.

[–] ulterno@programming.dev 3 points 11 hours ago

That screaming guy made the library.

[–] hddsx@lemmy.ca 8 points 20 hours ago (1 children)
[–] rikudou 15 points 17 hours ago* (last edited 17 hours ago) (1 children)

Stupid term people use for "writing" code without the knowledge of programming by using AI.

Kinda the next level of running random code from the internet without understanding what it does.

[–] hddsx@lemmy.ca 9 points 17 hours ago (3 children)

Maybe I’m old, but I avoid AI specifically because I’ve seen the quality of code out there (not to say my quality is amazing), and if AI learned from that…. Well

[–] yucandu@lemmy.world 9 points 16 hours ago (2 children)

AI is great for when you're typing out 30 slight variations of the same thing, and you can just be like "see what I'm doing here? Do it for the other 30 variables" and it does it just fine.

[–] zenpocalypse@lemm.ee 1 points 10 hours ago

*pastes list of 100 numbers"

"Flunky, put this in a where in SQL statement. "

[–] rikudou 3 points 15 hours ago

It's also great if you have a general knowledge of something but don't know the details. Like today I needed to do some database introspection using queries in Snowflake, I knew exactly what I needed but not where the database schema is located etc., so I let GPT write the query instead.

Or some time ago I needed to get all instances of classes implementing a specific generic interface in .NET, the code eventually dabbled into the very specifics of the runtime, it would've taken me much longer to find out with documentation.

All in all, it's my opinion that AI is great if two conditions are met:

  • you know exactly what you want to do and you can specify it to very tiny details
  • you have the knowledge to verify whether the result makes sense without running the code (or at least the knowledge that it can't break your app or computer)
[–] zenpocalypse@lemm.ee 1 points 10 hours ago

It's taught me a few new tricks. It's good at short bits of code, but anything longer is likely to have problems that take as much time to fix as writing it yourself to begin with.

I also find learning something new to be much faster when you can just ask a question about best practices or why something works like it does.

[–] Aurenkin@sh.itjust.works 1 points 13 hours ago

I don't think it's necessary to strictly avoid it by any means, it's quite a useful tool. You just have to use it appropriately, similar to stack overflow in some ways. That said, obviously you should use / avoid whatever tools as you want.

[–] someguy3@lemmy.world 7 points 20 hours ago (1 children)
[–] addie@feddit.uk 20 points 20 hours ago (1 children)

A binary tree is one way of preparing data, usually for sorting. Each node can have a left, right, or both, children.

  A
 / \
B   C
   / \
  D   E

"Inverting the tree" means swapping the children for each node, so that the order that the nodes are visited is reversed. Depending on whether you want to copy the tree or swap it in place then the algorithm is different. C++ provides iterators too, so providing a "order reversed" iterator can be done efficiently as well.

You're going to have to visit every node and do at least one swap for every node, and an efficient algorithm won't do much more than that. Bring unable to do it suggests that the student programmer doesn't understand stacks or recursion yet, so they've more to learn.

[–] Thorry84@feddit.nl 14 points 19 hours ago (1 children)

Important context:

This is often an exercise for beginning programmers, it's a very simple task that's easy to understand, but leaves enough room in the implementation to make it a good exercise.

Sometimes it's used as a test on job applications, which is total bullshit, it isn't a good test of someones actual skills as a software developer. Because of this it's become a bit of a joke on the internet.

[–] barsoap@lemm.ee 3 points 15 hours ago* (last edited 15 hours ago)

This is often an exercise for beginning programmers

And non-beginners have to weigh the skill of the interviewer to figure out whether "To invert, I'll just keep the tree as it is" is an approach they can grasp. Enlightenment is realising that the tree is already in the perfect shape.

[–] wise_pancake@lemmy.ca 6 points 21 hours ago (1 children)

I’ve always stayed away from tree algorithms

[–] QuazarOmega@lemy.lol 2 points 10 hours ago

I always stay away from trees