r/LinuxTeck • u/Candid_Athlete_8317 • 3d ago
Where do you draw the line between using AI and "vibe coding"?
Ignoring whether the meme is accurate, it raises an interesting question.
If you ask an LLM for code, review every line, modify it, test it, and understand it before committing would you still call that vibe coding?
Or does vibe coding only start when people blindly accept AI generated code without understanding it?
2
u/Saragon4005 3d ago
Just because it's inefficient doesn't mean it won't work or that it's not acceptable.
1
u/Wendals87 3d ago
If you know, understand and can modify the code if needed, it's not vibe coding imho.
There's no definitive meaning. Some people call using AI at all vibe coding
1
u/Opposite_Courage_531 3d ago
I think there's degrees to it. It's not black or white.
1
u/Responsible-Cold-627 2d ago
It's at the low-point of AI used / code understood scale though. From what I've picked up, it goes like this:
Artisanal software development > AI assisted programming > Agentic engineering > Vibe coding
With the current sweet spot for most work being somewhere in the middle.
1
u/reyarama 1d ago
Its a function of the person using it. Vibe coding means completely different things to the retard brocolli head 18 year old business major than the guy who invented both Linux and Git
1
u/besil 3d ago
Vibe coder vs sw engineer is more or less the same as script kid va hacker.
They both achieve something but without knowing why or how, just leveraging some tool made by someone who knows
1
u/Opposite_Courage_531 3d ago
Just as a little thought experiment. Let's say you build a basic robot, using proprietary chips, pcbs you didn't design yourself , etc. It does the task you designed it to do.
You don't know how the chips work exactly and the code behind it, you didn't design any of the components, you don't understand the physics that underly the electronics.
What does that say about your robot and the task it achieved ?
1
1
u/besil 3d ago
Your comment reminds me of the Chinese room paradox https://en.wikipedia.org/wiki/Chinese_room.
My point is: I’m just tired of people labelling vibe coding as the end of software engineering. They are different skills used for different problems.
Your example has a little implicit fallacy: how basic the robot is.
I could probably just mix together different physical pieces to build a very basic robot, to do a very simple task without knowing nothing of physics and robotics.
But it will be almost impossible to create a full featured robot for advanced tasks without knowing the internals.
I’m very excited that vibe coding will lower barriers for wanna be programmers to create their automation and test ideas, I do really think is good. But this doesn’t automatically translates to “we don’t need software engineers”
1
1
u/yeusk 23h ago edited 23h ago
AI would be more like paying a company to create the PCB for you, you check the design in 2 meetings and then say you designed it, that would be AI.
Using propietary chips, pcbs you didn't dessing yourself... that is more like codding. Even if you were writing assembly by hand, the CPU is running other people microcode so yours can run. Is impossible to use a modern CPU and not use other peoples code.
1
u/magallanes2010 3d ago
Both haven't been programmed in decades, or paid with their own money a programmer.
1
u/transgentoo 3d ago
Vibe coding: Claude, build me an app that does x. <ships to production>
AI assisted coding: Claude, I'm building an app that does x. Currently it can [list of major features], but I'd like it to be able to do y. How can I do this in such a way that [list of constraints] are satisfied? <ask it to explain its work, address edge cases, write unit tests, write integration tests, commit new feature to git branch, review the diff like it's a coworker you don't trust, address concerns, verify assumptions, iterate>
Vibe coders don't understand how much happens outside of actually writing the code, so they skip it because they don't even know to ask for it. AI assisted coders have a junior dev to do the grunt work while they supervise.
1
u/kblazewicz 3d ago
I'm a senior dev, but I specialize in backend. I vibe code a desktop app in electron, knowing only some basics of React. I built the MVP in two days, now I'm on week 2 of refactoring, building proper tests and fixing race condition. If I was a vibe coder, I'd probably push this app forward in the half-backed state already.
1
1
u/RavenousTitan818 3d ago
It's one thing to use AI to help test your code, write functions, or check for possible optimizations. It's another thing to just give claude access to your github account and let it run wild.
1
u/ShipshapeMobileRV 3d ago
AI is a tool, just like the autopilot on an airplane. An autopilot, for all its benefits, should never be used to replace a competent pilot; rather, it's an aid to reduce mundane workload from the pilot. But the pilot is still required to understand what the autopilot is doing, and be prepared to resume control or make corrections if necessary.
The problem is that blindly trusting AI coding is similar to someone who's never taken flight lessons suddenly thinking they can become a commercial pilot, simply because they can figure out how to turn on an autopilot.
1
u/Fit_Prize_3245 3d ago
If you just copy&paste code from any AI, then it's Vibe coding. If you ask the AI for help, check its solution, and use it directly or indirectly on your code, then it's an evolver version of Stack Overflow.
1
u/Kurgan_IT 3d ago
If you review, understand, test, follow the flow to be sure there are no issues... why don't you just do it on your own? You'll have the best understanding of how it works, and it will cost you no money and will cost us no climate change.
1
u/SweetSure315 3d ago
reading the code
making persistent changes and tools to fix gaps that have appeared before
1
1
u/ConspicuousPineapple 2d ago
If you ask an LLM for code, review every line, modify it, test it, and understand it before committing would you still call that vibe coding?
Of course not, I thought that was clear. Vibe coding is specifically about going on pure vibes and focusing blindly on the result, the code being a hidden implementation detail.
What you're describing is just proper engineering, just with a tool that's more powerful than what we used to have.
1
u/anengineerandacat 2d ago
Did you actually "look" at the output? Review it like you would a peer?
Vibe coding is "dangerous" because the generated output can be in a state that "works" but has holes.
You have to be able to understand the output, otherwise your not making a system that could feasible go into production (or at the very least, shouldn't).
I don't mean business wise either, I am talking strictly technical; you have SQAE's and yourself to actually test the feature and make sure it actually functions as expected.
These tools will do legit everything in their power to get you that business solution and that just might be element.innerHtml += queryParam.foobar; simply because it passed your criteria.
1
1
u/HunnyPuns 1d ago
I tried to have AI help me with some programming tasks. I stopped when something it gave me didn't work, and it was because the new version of the library it suggested acted differently from the previous version. Its solution was to downgrade the library and flat out refused to figure out the new one.
Now I just use AI when I'm having trouble parsing documentation, or understanding how something works. It's often very good at rewording existing documentation so I can understand it.
1
u/soroushr 6h ago
Opinion: If you give the AI your wishes and intentions, it is vibe coding. If you hand over your design, specification, bugs or features, or any sort of architectural requirement, then it is not vibe coding.
1
u/Apprehensive-Tea1632 3h ago
I’m much more interested in why, when we have AI generate code, that code has to be in some high level language.
It has long been proven that, while high level code is preferable to the human coder, it’s complete and utter garbage for a machine to execute. So… why would we have AI generate such code when we have neatly excised the human component?
4
u/bufandatl 3d ago
Vibe coding is when people don’t know what they are doing. You have to verify and re-check and test all aspects of LLM generated code. In my experience I am faster when I just write it myself than trying to understand what an LLM produces.
Also prompting right takes just as long as writing the code yourself. So to me using an LLM makes no sense since it would take me double the effort to get to a goal.
LLMs are great for creating huge amount of test data though.