this post was submitted on 21 Mar 2025
368 points (97.9% liked)

Programmer Humor

21829 readers
1502 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
[–] xtools@programming.dev 4 points 1 day ago

vibe coding is the dumbest term they could have come up with. can we call it imbecile coding instead?

[–] TedDallas@programming.dev 32 points 2 days 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 10 points 2 days 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 39 points 2 days ago

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

[–] MajorHavoc@programming.dev 115 points 2 days ago* (last edited 2 days 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.

[–] Ephera@lemmy.ml 44 points 2 days 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 18 points 2 days ago* (last edited 2 days 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 8 points 2 days 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 5 points 2 days 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)

Anything can be derogatory if you try hard enough

[–] ulterno@programming.dev 3 points 2 days ago

And reflog!

Oh! It was reflog, sry.

[–] Mirror Giraffe@piefed.social 7 points 2 days ago (1 children)

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.

[–] MajorHavoc@programming.dev 3 points 1 day ago* (last edited 1 day ago)

Yeah. The "this got dumped on us and we're doing the minimum until we can replace it" is a genuinely solid use case for vibe coding.

And honestly, that's all I usually did with those before AI came along anyway. So I welcome better tools for it.

[–] sturlabragason@lemmy.world 10 points 2 days ago

Dude, love ❤️

[–] jmcs@discuss.tchncs.de 95 points 3 days ago* (last edited 3 days 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 65 points 3 days ago (3 children)

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

[–] heavydust@sh.itjust.works 53 points 3 days 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.

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 5 points 2 days ago (1 children)

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

[–] Excrubulent@slrpnk.net 0 points 1 day ago (1 children)

Which is also not a real use-case. Like, just check your work, you don't need a tool for that.

Hell I don't even use spell-check because it's just distracting, and it's a fundamentally wrong way to think about language.

[–] jackalope@lemmy.ml 1 points 16 hours ago (1 children)

You don't want to. Fine. Other people do. Fine.

[–] Excrubulent@slrpnk.net 1 points 16 hours ago* (last edited 16 hours ago) (1 children)

People are being miseducated about what they can achieve by charlatans looking to make a quick buck before the hype bubble implodes, and the tech is helping cook the planet.

It's not "fine".

[–] jackalope@lemmy.ml 1 points 12 hours ago (1 children)

that's a separate argument from "it's not useful".

[–] Excrubulent@slrpnk.net 1 points 6 hours ago

You are not worth talking to.

[–] iAvicenna@lemmy.world 5 points 2 days ago

which is like %80 of the time

[–] magic_lobster_party@fedia.io 32 points 2 days ago (1 children)

They will resort to vibe debugging

[–] Artyom@lemm.ee 7 points 2 days ago

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

[–] lowleveldata@lemmy.world 36 points 2 days ago (1 children)

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

[–] theneverfox@pawb.social 38 points 2 days 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 5 points 2 days ago (1 children)

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

[–] theneverfox@pawb.social 3 points 2 days 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 14 points 2 days 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 6 points 2 days ago* (last edited 2 days ago) (1 children)

Having fewer/no dependencies is nice though

[–] Ephera@lemmy.ml 3 points 2 days 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 2 points 2 days ago* (last edited 2 days 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 4 points 2 days ago

That screaming guy made the library.

[–] vane@lemmy.world 7 points 2 days ago

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

[–] hddsx@lemmy.ca 9 points 2 days ago (1 children)
[–] rikudou@lemmings.world 18 points 2 days ago* (last edited 2 days 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 12 points 2 days 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 10 points 2 days 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.

[–] rikudou@lemmings.world 6 points 2 days 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)
load more comments (1 replies)
[–] Aurenkin@sh.itjust.works 3 points 2 days 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.

load more comments (1 replies)
[–] someguy3@lemmy.world 8 points 2 days ago (1 children)
[–] addie@feddit.uk 21 points 2 days 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 16 points 2 days 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 4 points 2 days ago* (last edited 2 days 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 7 points 3 days ago (1 children)

I’ve always stayed away from tree algorithms

[–] QuazarOmega@lemy.lol 3 points 2 days ago

I always stay away from trees

load more comments
view more: next ›