'Just Because Linus Torvalds Vibe Codes Doesn't Mean It's a Good Idea' (theregister.com) 61
In an opinion piece for The Register, Steven J. Vaughan-Nichols argues that while "vibe coding" can be fun and occasionally useful for small, throwaway projects, it produces brittle, low-quality code that doesn't scale and ultimately burdens real developers with cleanup and maintenance. An anonymous reader shares an excerpt: Vibe coding got a big boost when everyone's favorite open source programmer, Linux's Linus Torvalds, said he'd been using Google's Antigravity LLM on his toy program AudioNoise, which he uses to create "random digital audio effects" using his "random guitar pedal board design." This is not exactly Linux or even Git, his other famous project, in terms of the level of work. Still, many people reacted to Torvalds' vibe coding as "wow!" It's certainly noteworthy, but has the case for vibe coding really changed?
[...] It's fun, and for small projects, it's productive. However, today's programs are complex and call upon numerous frameworks and resources. Even if your vibe code works, how do you maintain it? Do you know what's going on inside the code? Chances are you don't. Besides, the LLM you used two weeks ago has been replaced with a new version. The exact same prompts that worked then yield different results today. Come to think of it, it's an LLM. The same prompts and the same LLM will give you different results every time you run it. This is asking for disaster.
Just ask Jason Lemkin. He was the guy who used the vibe coding platform Replit, which went "rogue during a code freeze, shut down, and deleted our entire database." Whoops! Yes, Replit and other dedicated vibe programming AIs, such as Cursor and Windsurf, are improving. I'm not at all sure, though, that they've been able to help with those fundamental problems of being fragile and still cannot scale successfully to the demands of production software. It's much worse than that. Just because a program runs doesn't mean it's good. As Ruth Suehle, President of the Apache Software Foundation, commented recently on LinkedIn, naive vibe coders "only know whether the output works or doesn't and don't have the skills to evaluate it past that. The potential results are horrifying."
Why? In another LinkedIn post, Craig McLuckie, co-founder and CEO of Stacklok, wrote: "Today, when we file something as 'good first issue' and in less than 24 hours get absolutely inundated with low-quality vibe-coded slop that takes time away from doing real work. This pattern of 'turning slop into quality code' through the review process hurts productivity and hurts morale." McLuckie continued: "Code volume is going up, but tensions rise as engineers do the fun work with AI, then push responsibilities onto their team to turn slop into production code through structured review."
[...] It's fun, and for small projects, it's productive. However, today's programs are complex and call upon numerous frameworks and resources. Even if your vibe code works, how do you maintain it? Do you know what's going on inside the code? Chances are you don't. Besides, the LLM you used two weeks ago has been replaced with a new version. The exact same prompts that worked then yield different results today. Come to think of it, it's an LLM. The same prompts and the same LLM will give you different results every time you run it. This is asking for disaster.
Just ask Jason Lemkin. He was the guy who used the vibe coding platform Replit, which went "rogue during a code freeze, shut down, and deleted our entire database." Whoops! Yes, Replit and other dedicated vibe programming AIs, such as Cursor and Windsurf, are improving. I'm not at all sure, though, that they've been able to help with those fundamental problems of being fragile and still cannot scale successfully to the demands of production software. It's much worse than that. Just because a program runs doesn't mean it's good. As Ruth Suehle, President of the Apache Software Foundation, commented recently on LinkedIn, naive vibe coders "only know whether the output works or doesn't and don't have the skills to evaluate it past that. The potential results are horrifying."
Why? In another LinkedIn post, Craig McLuckie, co-founder and CEO of Stacklok, wrote: "Today, when we file something as 'good first issue' and in less than 24 hours get absolutely inundated with low-quality vibe-coded slop that takes time away from doing real work. This pattern of 'turning slop into quality code' through the review process hurts productivity and hurts morale." McLuckie continued: "Code volume is going up, but tensions rise as engineers do the fun work with AI, then push responsibilities onto their team to turn slop into production code through structured review."
Re: (Score:2)
This vibe coding fad sounds like a "do what feels good" philosophy. Eventually it catches up with you.
"Vibe" anything is a sort of hedonistic outlook. I always thought vibe anything was that way. Confront your partner about being too drunk at a party? They tell you "You're ruining the vibe." So at least for me, Vibe coding is the opposite of responsible and professional coding.
What's next, Crystal Affirmation Manifestation coding?
But FTS, how does one maintain code when you have no idea of what is in it? Start over again?
Re: (Score:2)
But FTS, how does one maintain code when you have no idea of what is in it? Start over again?
In short yes, because apparently when you ask the software to update the code it created it almost always goes a lot worse than the initial creation.
Re: (Score:3)
But FTS, how does one maintain code when you have no idea of what is in it? Start over again?
I've actually done this a couple of times:
1. Get LLM to generate some code, perhaps refine it a bit.
2. Run into a wall because the LLM cannot get past some obstacle (or it does, but then also breaks things elsewhere).
3. Start a new chat, paste the code previously generated by same LLM, say "I came up with this code snippet, it doesn't work. Make changes so that it does X".
4. Get working code out of it.
Maybe the assu
Re: (Score:2)
Interesting.
Maybe the assumption is that it would also work for maintenance of larger code bases...
Probably. It the the-all knowing, all-powerful AI, after all!
I am just waiting for people that find they cannot do security fixes, because when they tell the AI to do them a) the security problem does not get fixed and b) other things break.
Re: Obvious (Score:2)
People may report security holes faster, because the fix will generate more holes, while unrelated maintenance might provide a shorter lifetime to any given hole. Churn works to the favor of attackers.
Re: (Score:2)
Churn works to the favor of attackers.
It very much does. Add that AI "coding" actually works for the attackers because attack code does not need to be reliable or secure (just do 100 attack programs, if one works, they are golden and after the initial attack, a very much not AI written root-kit takes over anyways), and we are going into interesting times for software. Well, maybe, just maybe, amateur hour will finally come to an end in the software space.
Re: (Score:2)
> Maybe the assumption is that it would also work for maintenance of larger code bases...
Or maybe not even - there is no assumption, just some non-developer, or weak-developer trying to get something done, with no thought for tomorrow.
The kind of developer that doesn't care about the code they are developing, nowadays vibe coding, probably has a large overlap with the kind of developer that was previously just trying to get through their day by copying code from Stack Overflow, or randomly shuffling thei
The Register is full of shit (Score:2, Insightful)
Using it as a news source is like getting your news from an AI.
Re: (Score:2)
What have you built with vibe coding tools?
Re: The Register is full of shit (Score:3)
Re:The Register is full of shit (Score:4, Funny)
Re: The Register is full of shit (Score:1)
Re: (Score:2)
Define "vibe coding". I have an existing (small) code base to ingest and process XML, using a SAX interface for a couple of reasons. The input XML scheme embeds XHTML, but for the purposes of the app it's better to remove the namespace prefix from those tags than to keep it. I asked Claude to implement that. The logic to grab the right prefix and pass out to the worker function was fine. The changes to the "grabXhtml" worker function worked, but we're kind of crap. Overall, it saved me time even thoug
Re: (Score:2)
A Playwright test suite that covers a (very real/live/in-production) UI. I did it at least 10x as fast as if I hadn't used vibe coding ... and I say this as someone who has implemented multiple Playwright test suites, without AI, at past companies.
Yes, you have to read the code the computer produces for you. No, doing that is not anywhere close to the speed of not using AI and writing everything yourself like a luddite.
AI is just another coding tool, and (much like every coding tool that came before it) b
Minor usage... (Score:3)
In full statements, Linus says it was only used for a single module, like a plug-in of some sort. He hand coded the rest.
With every enterprise pushing this shit, I tried it myself with a ChatGPT enterprise account through work. Initial results were impressive, recreating a PHP program I had hand-coded myself originally but with some small improvements I asked for.
However, taking it to the next step and adding more new features the entire thing collapsed. Even 600 lines of code is too much for it to handle. I ended up with a support case with OpenAI where they more or less admitted they couldn't do anything about it and just passed my example along to devs.
Re: (Score:2)
I used Claude code to add some features to a flutter-based android app recently. While the code itself probably isn't that long, we're still talking at least a thousand l lines in various files that it had to read in. No problem for it. Took a bit of iteration and closed loop testing. I can't give you any guarantees about the quality of the code produced. But it did work and was able to do it a lot faster than I could. I have no experience in dart and flutter so it would take me at least a day to learn
Re: (Score:2)
I did something similar with writing an app for my iPhone. Wasn't anything earth shattering, just little bowling game.
I tried to stay with the agent, and even reviewed what was done, offered my own corrections. It was fun to a point. Kind of like turning on cheat codes to a game.
Yeah, you can complete it sooner, but it's lacks that "I did it!" feeling. I need that. not everyone does, sometimes it's just they need the $ at the end of the line.
So to each their own I say. But if I have to maintain
Re: (Score:2)
https://github.com/torvalds/Au... [github.com]
It is crazy that anyone takes that
Re: (Score:2)
Re: (Score:2)
In full statements, Linus says it was only used for a single module, like a plug-in of some sort. He hand coded the rest.
Yep. An that was in the initial reporting. But the AI pushers make this "Linus Torvalds uses vibe coding! OMG! Vibe Coding is soooo great and can do everything!"
Fundamentally dishonest marketing clearly part of the "AI strategy". Lets hope the crash comes soon ...
Hobby use != Professional use (Score:5, Insightful)
It's unfortunate if some people hear that Torvalds is vibe coding on his hobby projects, or that Karpathy (who coined the term) is, and their takeaway is that vibe coding at work, not just on their throwaway hobby projects.
For sure, it's amazing that we now live in a world where you can single shot an entire app "write me a BASIC interpreter", and for sure try it and have fun with it if you like. Beyond fun it has utility too for single shot throwaway apps that wouldn't have been worth the effort if you had to to it yourself (e.g give Claude a photo of your credit card bill and ask it for the category totals - it'll write a Python program to do it).
For hobby / throwaway apps you may not care what the code looks like, what the tech stack is, whether it was well designed or not - you just want something that works.
At work you obviously need to be more professional and care about the code you are developing. Using LLMs doesn't change what is expected of you, and vibe coding isn't going to cut it. A better mindset is that you are pair-programming with the LLM, aware of what it is generating, and that you are the lead developer and systems architect.
Re: (Score:3)
Speaking of "write me an interpreter" Dave Plummer did that recently to create a BASIC interpreter for an old pdp-11. https://m.youtube.com/watch?v=... [youtube.com]
Of course there are plenty of examples of BASIC interpreters on the web these days for AI to steal from.
Re: (Score:2)
we now live in a world where you can single shot an entire app "write me a BASIC interpreter"
i’ve been vibe coding a BASIC interpreter and it is decidedly NOT a “one shot” effort! it has taken an incredible amount of guidance and patience, almost to the point that it would have been faster to write the application by hand.
anyone that attempts to “one shot” anything with LLM isn’t being serious with the tool. that is how we end up with slop and bad reputations. and to that, i would blame the developer.
Re: (Score:2)
This guy apparently did it:
https://www.youtube.com/watch?... [youtube.com]
It's going to depend on what model you use - apparently the strongest by far right now is Anthropic's Opus 4.5, and to do something like this you need to be running it via something like Claude Code where it can iterate test and fix bugs until complete.
I expect this video is real. There are other videos out there of people one shot vibe coding relatively complex (but still boilerplate) things.
Re: (Score:2)
Indeed. So far, I have heard of one production use of vibe coding: Have non-coders create a mock-up and somewhat functional prototype of what they want. Then have actually competent coders write actual production quality code that does the same thing. Apparently, some companies have already turned "fixing" vibe-code into a business-model along those lines.
The same is true of my engineers (Score:5, Funny)
"Besides, the LLM you used two weeks ago has been replaced with a new version. The exact same prompts that worked then yield different results today. Come to think of it, it's an LLM. The same prompts and the same LLM will give you different results every time you run it. This is asking for disaster."
Yep the same is true when I put Jira tickets in and my engineers grab them.
Re: (Score:2)
Yep the same is true when I put Jira tickets in and my engineers grab them.
Are you also involved in the hiring process? Might want to file a ticket about that.
Re: (Score:2)
"BOOTS ARE FOR FEET NOT FOR EAT"
Obviously you've never had a fine Mousse de la Boue dans un Panier de la Pate de Chaussures.
I Tried It... Sort Of (Score:4, Interesting)
I'm a professional developer with decades of enterprise experience. Like many of us, I have home projects. A week ago I signed up for $10/month CoPilot, because I wanted to try my hand at mobile development - something I've never done. Fortunately, I'm experienced in React and that is a viable platform for mobile development, but that doesn't address all the environment-specific items that differ between mobile and web development.
I engaged CoPilot to ask for development platform options - it gave me two, along with pluses and minuses. Very helpful. I chose one and started setting up my dev environment (VSCode + tooling). I would still be futzing with that if CoPilot didn't solve a bunch of little problems for me. It also helped me out of a whole raft of other problems. At this point I have 3 app screens working (mostly) and I have only 20 hours invested. I never would have got this far without CoPilot (or equivalent - I don't care). It's like having someone who's read every book and internet article at your left elbow, and you can ask it whatever / whenever.
It also made enough mistakes that I had to make it work on a problem 4 or 5 times before it got it right. At no point would I have taken the 'vibe coding' approach, where I let it build the whole thing. It makes too many mistakes and would implement things in a way I don't understand. I find it much more effective to paint the broad strokes myself, and ask AI to write small functions or help with problems.
Re: (Score:2)
"I find it much more effective to paint the broad strokes myself, and ask AI to write small functions or help with problems."
Yeah, small, confined bits of code that do something well and nothing else. Sounds like a useful tool for that and other small needs.
Re: (Score:2)
I think the rest will come. Job security will not be defined by programming skills anymore. I guess with a lot of engineering work you could already develop large projects when having a software that orchestrates planning, accessing related code, working on things chunk by chunk. The work is probably not worth the investment as some of it will be obsolete when models with large context sizes are developed. I am not sure how safe the job of software engineers is. Current AI is not that good for it, but I don
I will replace you with a very small shell script (Score:2)
If people think they can vibe-code SAP out of business, that is a completely different understanding of the term vibe-coding compared to someone like Torvalds, who probably thinks in C++ by now, letting AI do the grunt-work and provide a basic construct he can then beautify and improve.
If a CEO extrapolates that he can replace an experienced miner with a yound man with a CAT machine, all he will produce is a cave-in.
You want to give the CAT to the experienced miner.
Re: (Score:2)
So,... a miner is a coder and code is a cave and a yound man is graduate,.. a CAT is some kind of digging machine and unsupportable code is an unsupportable cave which results in a cave-in
Re: (Score:2)
Thank you for explaining my post so GenZ can understand it.
Professional coder vs non-professional coder (Score:1)
Re: (Score:2)
Honestly it's in the same vein as "It isn't that we use Google, it's that we know what to Google and how to interpret and execute the results".
AI, the prodigy child (Score:2)
Coding approaches vary... (Score:1)
Vibe coding just like RAD is a fine idea (Score:2)
Vibe coding is just another RAD solution. There is nothing wrong with RAD, being able to try stuff out with minimal investment is fantastic.
The problem is now as it has always been when the RAD output is judged 'good enough' by someone not really equipped to make that judgement and shoved into some key business process where it does not really meet reliability, scale-ability, security, and other requirements in ways that might not be immediately apparent because the requirements gathering and design valida
Re: (Score:2)
Throwing together a prototype using vibe coding is one thing. Sure they're great for that and you get something you can demonstrate to a customer quickly. It's the 90-10 problem - where 90% of the features of a piece of software only take 10% of the time. The problem is the final 10% will need 200% of the time.
The problem is beyond that, because you get into software maintenance. Software ages - security flaws found, dependencies updated, etc., and you need to constantly keep it up to date. Sure you could i
Re: (Score:2)
Yes I was just thinking the other day that these coding agents are the new VB6 in the hands of non-programmers. They enable all kinds of people to create a lot of apps quickly, some good, some garbage.
I have a whole host of little projects I'd like to tackle and having Claude crank out an imperfect implementation in a day is certainly faster than me trying to learn a new problem domain, tackle a new API, and try to flesh out a program in weeks. For a lot of little things, this works out just fine. Claud
what is a 'good idea'? (Score:2)
I saw a truck company exec spend 7 hours in one day to throw together a working portal that integrated with his TMS, QuickBooks, Slack, Telegram and a system called Border Connect. This portal looks like he wanted, does what he wanted and reduces work load and processing errors in his company. He had no idea what coding is, he had no idea and no interest even to find out what technologies were used, what languages were used to put together the solution. I have to admit it was impressive.
To say that using
Re: (Score:3)
I'd kinda put this in the personal throwaway tool category - it does what he wants, and that's good enough. Would it pass code review and checks for security vulnerabilities? Does it have bugs in it? I guess none of that matters if he's the boss and finds it useful, especially if its internal use only and behind a firewall so that any hard coded passwords or who know what else isn't creating a bad security situation.
Sematics (Score:3, Insightful)
Reliance Worse than AI... (Score:1)
A success story (Score:2)
A coworker who is a mechanical engineer developed a web-based tool 100% LLM coding. He had no prior coding experience. It wrote HTML for him, and took his JSON data and just threw it into the JavaScript files directly. It won't scale because the whole thing is client-side, and it added a bunch of junk files that do nothing. But he produced a 100% working tool that does exactly what he wants. He reached out to me and asked how to actually deploy it somewhere for a demo. I made him a web server, and he
Vibe coding just is... (Score:2)
I've been programming now for over fifty years. I'll also say that I'm using vibe coding for personal projects. So far, I'm getting good results. Here are some tips:
1. Know what you're doing. Right now, I'm working on an interpreter for a DSL. But I already know the basic structure of interpreters. I can tell when the code the AI is turning out is good or bad. When it's bad, I tell it what's good and ask it to correct the bad code. This usually works.
2. Vibe code in small chunks. I didn't say code the inter
Re: (Score:2)
This sounds like a good process, but it's much more controlled, with yourself providing all the oversight and intelligent decision making than "vibe coding".
Here's Karpathy's "vibe coding" tweet that introduced the term.
"There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper so I barel
Not all Linux Torvalds does is worth imitating (Score:2)
For example, he acquired American citizenship. I bet he must feel real smart about that one today...
If he's "vibe coding" anything important, as impressive as the man and his achievements are, he's an idiot. But my understanding is that he doesn't use it for anything important.
Re: (Score:2)
Seeing as he's living and working the US, and has for decades, and is unlikely to move anywhere even after retirement, so was probably a good move. And he can add his voice to other voters in their attempt to change the collision course in this year's elections.
That said, anyone who is seriously thinking of returning to their places of origin after acquiring US citizenship, be aware that you will have obligations to the IRS for the rest of your life, and those obligations can really cause issues when owning
There is no relationship between the two statement (Score:2)
Whether Linus "vibe codes" doesn't mean it's a good idea. Nor does it mean it's a bad idea. His choice of activities has no bearing on whether "vibe coding" is or is not a "good idea."
Nor is there a simple, summary answer to the question of whether "vibe coding" is or is not a good idea. It depends on the details of what exactly you are using an LLM for, in connection to your coding, and it depends on what type of software you are writing (is it a POC or production code?), the impact of errors, the thorough