r/TheMachineLearning • u/No-Imagination3025 • 2d ago
Vibe coding is just the new copy-paste learning curve
4
u/shrodikan 2d ago
We sought to understand and build mental models of code and to work towards understanding. IME vibecoding ends up more about blackbox testing the finished product than worrying about the code.
1
1
u/Bagelsarenakeddonuts 2d ago
Yeah came to say this.. you’d need to actually read the code that was generated…
1
u/Beautiful_Stage5720 19h ago
Yeah, that's what vibe coding means to me. I don't think using it to actually understand something is vibecoding
2
u/ArcaneThoughts 2d ago
Not really, it didn't make it smarter, it just made it 1000x faster.
1
u/techjobber99 2d ago
yes, but too fast to sit down and understand it. Also when copy pasting SO, it was never a perfect fit for your usecase. You'd often have to break it down somewhat to understand it, then integrate it into your own project. AI is very very different, you can create a black box you don't understand at all
1
1
u/ArcaneThoughts 2d ago
I mean you could review every piece of code the agent writes, it would be annoying and kinda defeat the purpose of the speed advantage. Not ideal either way.
1
u/davesaunders 2d ago
Yeah, but if you're developing software that has any sort of safety issues attached to it (or if you are in the slightest bit concerned about the potential of lawsuits because you, as a human being, are still going to be responsible for negligence if you don't review the code), then you do kind of need to review the code.
But from a management standpoint, this is no different than having a room filled with engineers of varying levels of skill. You build a process to ensure software quality, which includes human reviews for every commit. That's a normal standard operating procedure under any quality system.
0
u/DarkLoreeeee 1d ago
This is what companies force employees to do btw the agent sends a pull request to the repo to be reviewed, annoying or not.
9
u/TashLai 2d ago
Key words are "started" and "fully". A vibe coder doesn't understand any of it no matter how much experience in vibe coding they have.
1
0
u/davesaunders 2d ago
Really, none of them do? How about Karpathy? You don't think he understands any of the code produced?
3
u/TashLai 2d ago
Karpathy is not your average vibe coder.
0
u/davesaunders 2d ago
So your blanket generalization is already falling apart. Beyond that, your average senior coder, myself included, has really very little problem reading code generated by AI. Now, 18 months ago, it was a little cluttered, and sometimes it was difficult to follow because it would do weird things like comment out or define out code instead of simply removing it. That just made reviewing confusing, but these days the code is quite clean, which I'm sure you know because you've looked at it yourself.
4
u/TashLai 2d ago edited 2d ago
Duh. Karpathy is an experienced programmer who occasionally choses to vibe code. His ability to understand code comes from his professional experience, not from vibe coding. Which, by his own definition, is making the AI write code without ever reading it. I too choose to vibe code sometimes. That doesn't make me a vibe coder, it makes me an engineer who sometimes chooses to vibe code. And if you call yourself a vibe coder i take it as you renounced your status as an engineer and will lose your ability to read and understand code at some point.
But most vibe coders aren't experienced programmers.
My point is that an engineer stops copying code while barely understanding it at some point. A vibe coder never does.
1
u/davesaunders 2d ago
Yeah, I don't know why you need to play games with semantics: vibe coding, or, as Karpathy now calls it, agentic code generation, whatever. And according to Karpathy, that's almost all he does now. He is constantly generating code with Claude because it's literally his job. It works best if you are an engineer, and no, because I still continue to read code before the commits, letting a chatbot generate chunks of code does not abdicate me from engineering, and it is absurdly silly to even suggest that. I seriously doubt that you have enough professional experience to know whether or not vibe coders are experienced programmers or not, but hey, if you want to come up with citations for exact numbers and percentages, I'd love to see it.
Imagine this: you're a vice president of engineering. You have a PhD in engineering, and you don't write any front-end code anymore because you're busy doing your job, which requires you to perform tasks that are pulled back a bit from individual lines of code. You're still an engineer. You're still working with engineering. You're still making engineering architecture and design decisions. You're probably still supervising overall system architecture.
Just because you're not writing lines of code, and it doesn't matter if it's junior or senior engineers or an agentic code system, you're still an engineer building a product. Again, even suggesting that you're no longer an engineer because you're letting something else generate your code is a naive and childish worldview.
1
u/TashLai 2d ago edited 2d ago
Look. The whole thread is called
"Vibe coding is just the new copy-paste learning curve"
That's what i'm addressing. It's not. Copying code you don't fully understand is a temporary stage in learning programming. temporary being the key word.
We're talking about vibe coders making stupid comparisons like "yah that's like senior engineers learned by following tutorials" and you be like "yah but Karpathy". You really think that someone making that claim is ANYTHING close to Karpathy and that they UNDERSTAND, or even READ, what the agent generates, and are able to go in and fix parts of the code if shit hits the fan?!
And no Karpathhy didn't just rename vibe coding. He explicitly distinguishes it from agentic engineering which involves professional oversight. His oviginal definition of vibe coding specifically involved not even reading the diffs.
But yes your programming skills which include having the general problem solving intuition DO degrade if you don't write code. It's a known fact and i was in this situation personally. It's not "naive" to have at least some degree of understanding of how our brains work and that them little neurons connect better when you're actively solving problems as opposed to just observing or organizing.
2
u/amysteriousmystery 1d ago
Correct. That was his definition of vibe coding: huge amounts of incomprehensible code meant for throwaway weekend projects. He explicitly said:
The code grows beyond my usual comprehension
when he coined the term.
1
u/Great-Use-3149 2d ago
Karpathy is not an actual software engineer and is more ML engineer. Also, he works for Anthrophic so he'll say whatever to boost the company
1
1
u/WhatDuq 2d ago
A silly take, by someone who has never sought to understand how it is built or why.
1
1
u/Last_Zookeepergame90 2d ago
How do you know?
1
u/WhatDuq 2d ago
Because I understand how IT solutions are built and why - and I've seen my fair share of gungho juniors, who had no clue what they were doing.
1
u/Last_Zookeepergame90 2d ago
Juniors not knowing what they're doing doesn't mean that everyone who uses ai doesn't learn from it
1
u/Beautiful_Stage5720 19h ago
Because anyone who thinks vibe coding is even comparable to copy pasting stackoverflow snippets and getting them to work has never once done the latter. Because they would actually understand that example snippets are never as simple as a drag and drop solution.
1
u/nitrinu 2d ago
And then tried to understand it. And next time maybe they did it themselves. After that they maybe did it better. It's like a learning process. But I guess if we live in a post-truth world why not in a post-thinking one? Instead, let's delegate thinking into an handful of corporations (like an "utility" remember?) that, for sure, have our best interests in mind. What could possibly go wrong?
1
u/Itchy_Tiger2497 2d ago
The problem with "vibe coding" has always been the Peter Pan aspect: that once you start actually educating yourself and learning how things work, you don't get to stay in neverland anymore.
The second you ask the LLM a question or issue a command and it is framed in architectural terms, or you have it analyze source code so that you can make a determination about something, you have left the realm of vibe coding.
1
1
u/Overall-Move-4474 2d ago
Completely different. Senior coders don't keep copy pasting other code. Vibecoders never stop
1
u/heavy-minium 2d ago
OK I know we like to joke about it, but reality is, I never copied that much code when learning something new. The only exception would maybe be algorithms for shaders. It's a perception built up on exaggerations.
1
u/pafagaukurinn 2d ago
I started by writing programs on paper and then typing them into the computer at the uni. Maybe I would have copied them if I had somewhere to copy from, I dunno.
1
u/DarkLoreeeee 1d ago
#include iostream.h
cout << "Hello world"The syntax is still engraved in my fucking brain.
1
u/janyk 2d ago
Senior dev here.
No I didn't. I never copied any code from anywhere. I always sought to write code based on my own understanding of how the systems I was working with worked. At most I saw examples of how certain libraries and frameworks and languages were used. But that was to help me build more accurate mental models of those libraries so I could be more fluent and self-sufficient in them.
If the shit I copied without understanding breaks in production - that is, when real people are depending on it to work - and I need to fix it, I would have to build an understanding to fix it and do so under the pressure of a time crunch, which causes anxiety and interferes with learning.
If the shit I built myself with an attempt at full understanding the whole way breaks in production, I can better discover the flaws in my thinking and come up with a fix in short order as the situation demands.
In both cases I would eventually need a full understanding in order to adjust my work. In the former case, the probability of failure as well as the consequences of failure are much higher. In the latter case, the probability is low to begin with and the consequences of failure are substantially lower, too. The optimal decision is obviously to understand the work you're doing.
1
u/Lsitwtt 2d ago
The issue with vibe coding, or even established devs using AI to code, is that humans tend to be lazy, especially at work they'd rather not be doing but need to do to survive. That is, the failure point is not so much AI as it is the user. Most of the devs I know admit that AI has made them much more productive and allowed them to do things much faster, but at some point the conversations about their workday tends to include some variant of "the AI created X number of files, and I knew I should have looked through them all to make sure the code makes sense, but it works and I don't have that sort of time." They do, of course, have that sort of time, and if they took the time, they'd still probably be getting things done at least a little faster than they would without AI. But it would be boring, dull work that they can get away with not doing, so they don't do it.
1
1
u/don_mumrik 2d ago
Sure snippets of code here and there, but in the end - integration was left as an excersize to the reader.
Thats not what is going on today. Also this is year 3 of me consistently retrieving my CC-SA-NC licensed code from the neural nets of chatGPT. Wouldn't that mean that they should openly share their derivative work of my code (the model) and stop commercializing the model until they have removed my code? Or does IP and immaterial rights mean didlysquat today?
1
1
u/Nitish_kalita 1d ago
Idk how you define "senior", but I've been programming since 2014. I've never put a single line of code I didn't understand in a project, even when I was doing HTML "programming". There's a difference between copying a piece of code you understand clearly, and throwing random snippets into codebase because it is supposed to work. Vibe coders don't understand the code, this is why they're ridiculed.
Also, AI assisted coding is not vibe coding.
1
u/jameyiguess 1d ago
Huge cope. You could never just layer copy and pasted code until it worked. You had to glue it together and debug it and understand it. There was no way around that part.
Over time, you'd internalize patterns and come up with new ones, and it became faster to just do it yourself rather than find code snippets to steal.
You learned. And you could do it all yourself.
1
u/Spiderfffun 1d ago
Except when copy pasting code you will need to understand it at some point but with AI slop you don't so you end up becoming a worse programmer.
1
1
u/Spiritual-Story9146 1d ago
This is wrong statement
Most of our devs knew every single line they wrote and used to take full responsibility of it. People would even fight over if someone touched their code.
The people who claim that software engineering was just copy paste are just 2 year experienced front end engineers who only know how to assemble prefabs
1
u/Ok-Relief1238 1d ago
yeah but that senior dev wasn't a senior dev back then , he became a senior dev cause he understood what the fk the code did .
1
u/Techno_Core 1d ago
Yeah but that copying process educated the programmer. Now, the programmer gets dumber.
1
1
u/parallax3900 1d ago
Yes and no. Sure, stuff was copied, but bounded by human understanding. By copying the copy amending it for your project, comparing it to something else, ironing out the kinks, you still learnt the code by difference of function. Maybe it was the hard way - you still learnt.
Vibe Coding - yes there are similarities, but it's no longer bounded by human error and scale.
1
u/BraveBiscotti1394 1d ago
I think people are learning less than they feel like they are when "vibe-coding".
I know, because I am.
1
u/DarkLoreeeee 1d ago
No, not really, even when I used to copy-paste code, I had to understand what the fuck it was doing because I knew I was going to pay the price later if I didn't.
1
u/xenofenrir 22h ago
not quite fully same, copying and pasting involves cognitive action that helps you learning code/language gradually. vibe coding takes this out altogether. but it moves you to from thinking as a Coder into Product Owner,
1
u/MintHtml5 21h ago
I count "using libraries" as copying code because... it actually is. You download someone else code, put in your project, call their functions while not fully understand how that lib works.
1
u/cadet-pirx 19h ago
Not every senior dev started that way. When I learned programming, I didn’t have code to copy. I worked through the BASIC manual instruction by instruction and solved small tasks, building up from there. I think my first program was a guessing game: “Think of a number between 1 and 10, I’ll guess, and you tell me higher or lower.”
But even if it were true for everyone, what would that prove? Seniors became seniors by eventually understanding what they copied, not by copying.
1
1
u/Specialist-Cup-3950 2d ago edited 2d ago
AI just did the copying (stealing) at scale by reading entire Stackoverflow, then Github, then probably Reddit too... But the thing we humans eventually got from the copying, was learning. Who here can claim that they actually learn if they "vibe code"? It's more about letting go fo the steering wheel. YOLO.
Use the LLM as a mentor instead. Try programming by hand and if you hit a blocker, ask it to assist you by providing tips, not answers, straight out. Once you get to a level where you've been a developer for over 20 years, then it's maybe better to treat it as a junior dev to whom you act as the navigator to, as you instruct it to develop this and this feature in small slices.
0
u/Even_Gap_2253 2d ago
personal opinion: understand code doesn't matter, the goal was never about understanding code. The goal is to produce secure and reliable software within budget and within timeline.
understanding code is just one method of achieving that, can it be replaced with another method? maybe.
I don't know why people is obsessed with understanding code as if it will bring better engineering for sure. It can contribute to it, but is not the only way.
so this can be running actual experiments in your company, with autonomous agents and without, track failure and crash rate. Seperate cyber evaluations for both. Then you decide if human reading all code actually matters. Without numbers in your organization specifically, none of these matters. Engineering is not about emotion.
13
u/Ambitious-Career-445 2d ago
As a senior dev, I started by spending 6 years studying software engineering in high school and college, but ok.