7 ms·
To me it feels like part of the hype train, like crypto & VR. I recently had the (dis)pleasure of fixing a bug in a codebase that was vibe coded. It ends up b
by OptionOfT 1y ago
To me it feels like part of the hype train, like crypto & VR.
I recently had the (dis)pleasure of fixing a bug in a codebase that was vibe coded.
It ends up being a collection of disorganized business problems converted into code, without any kind of structure.
Refinements are implemented as super-narrow patches, resulting in complex and unorganized code, whereas a human developer might take a step back to try and extract more common patterns.
And once you reach the limit of the context window you're essentially suck, as the LLM can no longer keep track of its patches.
English (or all spoken human language) is not precise enough to articulate what you want your code to do, and more importantly, a lot of time and experience precedes code that a senior developer writes.
If you want to have this senior developer 'vibe' code, then you'll need to have a way to be more precise in your prompts, and be able to articulate all learnings from your past mistakes and experience.
And that is incredibly heavy. Remember, this is opposite from answering 'why did you write it like this'. This is an endless list of items that say 'don't do this, but this, in this highly specific context'.
- torben-friis 1y agoCounterpoint: AI has help me refactor things where I normally couldn’t. Things like extracting some common structure that’s present in a slightly different way in 30 places, where cursor detects it, or suggesting potential for a certain pattern. The problem with vibe coding is more behavioral I think: the person more likely to jump in the bandwagon to avoid writing some code themselves is probably not the one thinking about long term architecture and craftsmanship. It’s a laziness enhancer.
- codr7 1y agoAnd once AI is not there anymore, you're back on square one. It only looks effective if you remove learning from the equation. It's the wrong tool for the job, that's what it is.
- swat535 1y agoHow is it the wrong tool for the job? In this particular case it's excellent, it can help you find proper abstractions.. without them you wouldn't realize. I kind of view this use case as enhanced code linters
- thejazzman 1y agoIf that's how engineers used it, sure, but instead many pretend they're brilliant by committing 10k lines they don't understand. I quit my last very good job because I became so fed up with this situation. It was bad enough before the CTO started using LLMs. It was ABSURD after. (This was a YC company that sold quickly after I quit, at a loss, presumably because they didn't know what else to do)
- mattfca 1y agothe classification of a tool being right for the job does not depend on how people use it someone holding a hammer by the head and failing at getting the nail in doesnt mean a hammer is a bad tool for nailing
- thejazzman 1y ago> If that's how engineers used it, sure No part of what I said suggested the tool wasn't capable of being a useful tool.
- dabockster 1y ago> It only looks effective if you remove learning from the equation. It's effective on things that would take months/years to learn, if someone could reasonably learn it on their own at all. I tried vibe coding a Java program as if I was pair programming with an AI, and I encountered some very "Java" issues that I would not have even had the opportunity to get experience in unless I was lucky enough to work on a Fortune 500 Java codebase. AI doesn't work in a waterfall environment. You have to be able to rapidly iterate, sometimes in a matter of hours, without bias and/or emotional attachment.
- Jensson 1y ago> AI doesn't work in a waterfall environment. You have to be able to rapidly iterate, sometimes in a matter of hours, without bias and/or emotional attachment. What do you mean? There is no difference between waterfall or agile in what you do during a few hours.
- lawgimenez 1y agoI just came out from a cave, what is this vibe coding?
- RossBencina 1y agoA form of coding by proxy, where the developer instructs (in English prose) an LLM software development agent (e.g. cursor IDE, aider) to write the code, with the defining attribute that the developer never reviews the code that was written.
- dabockster 1y agoI review my vibe code, even if it’s just skimming it for linter errors. But yeah, the meme is that people are apparently force pushing what ever gets spat out by an LLM without checking it.
- layer8 1y agoVibe coding is instructing AI to create/modify an application without yourself looking at or understanding the code. You just go by the "vibe" of how the running application behaves.
- raincole 1y ago> And once AI is not there anymore Do you expect an incoming collapse of modern society? That's the only case where LLM would be "not there anymore." Even if this current hype train dies completely, there will still businesses providing LLM interference, just far less new models. Thinking LLM would be "not there anymore" is even more delusional than thinking programmer as a job would cease to exist due to LLM.
- greesil 1y agoWhat do you think is going to happen when management is pushing on deadlines?
- winrid 1y agoYou're more likely to meet the deadline and refactoring it later is easier, obviously depending on various factors...
- torben-friis 1y agoThe same thing as always: either a strong tech voice convinces them to invest the required time or corners are cut and we all cry later. But I don’t see how that is made better or worse by AI.
- podviaznikov 1y ago100% this. I did this many times too. Often I wouldn’t bother with cleanup or refactor before, but now it’s way easier, faster and cheaper to do it. And it’s better in the long run.
- soraminazuki 1y agoAny actual evidence of it being better? Because publicly available evidence points to the contrary, where it repeatedly fails to complete the most basic of tasks. https://news.ycombinator.com/item?id=44050152 https://news.ycombinator.com/item?id=44050152
- guappa 1y agoIt's better than him.
- bwfan123 1y agoThis is just not being reported yet in mainstream media. ie, that the emperor is only wearing undergarments (he is not fully naked). Part of the reason is that the reporters are themselves not in the trenches coding to be skeptical of the claims they hear.
- podviaznikov 1y agoI meant "better for me on the projects in the long run, since I can do refactoring cheaper"
- winrid 1y agoI have the same observation. I've been able to improve things I just didn't have the energy to do for a while. But if you're gonna be lazy, it will multiply the bad.
- guappa 1y agoYesterday I searched how to fix some windows issue, google AI told me to create a new registry key as a 32 bit value and write a certain string in there.
- winrid 1y agoGoogle's search LLM I think is not very good.
- protocolture 1y agoRecent example. Trying to get some third party hardware working with raspi The hardware provider provides 2 separate code bases with separate documentation but only supports the latest one. I literally had to force feed the newer code base into ChatGPT, and then feed in working example code to get it going, else it constantly reference the wrong methods. If I just kept going Code / output / repeat it would maybe have stumbled on the answer but it was way off.
- redtaperat 1y agoThis is one of several shortcomings I’ve encountered in all major LLMs. The llm has consumed multiple versions of SDKs from the same manufacturer and cannot tell them apart. Mixing up apis, methods, macros, etc. Worse is that for more esoteric code with fewer samples, or more wrong than right answers in the corpus means always getting broken code. I had this issue working on some NXP embedded code.
- dpkirchner 1y agoHuman sites are also really bad about mixing content from old and new versions. SO to this day still does not have a version field you can use to filter results or more precisely target questions.
- disqard 1y agoI'll quote one of the wisest people in tech I know of, Kentaro Toyama: "Technology acts as an amplifier of human intentions" ...so, if someone is just doing a sloppy job, AI-assisted vibe coding will enable them to do it faster.
- redtaperat 1y agoFrom bill cosby’s “Himself” live standup recording from the early 1980s: “Cocaine intensifies your personality … but what if you’re an asshole?”
- makeitdouble 1y ago> AI has help me refactor things where I normally couldn’t. Reading "couldn't" as, you would technically not be able to do it because of the complexity or intricacy of the problem, how did you guarantee that the change offered by the AI made proper sense and didn't leave out critical patterns that were too complex for you to detect ? Your comment makes it sound like you're now dependent on AI to refactor again if dire consequences are detected way down the line (in a few months for instance), and the problem space is already just not graspable by a mere human. Which sounds really bad if that's the case.
- firecall 1y agoThat's an important distinction! There's a difference between not intellectually understanding something and not being able to refactor something because if you start pulling on a thread, you are not sure what will unravel! And often there just isn't time allocated in a budget to begin an unlimited game of bug testing whack-a-mole!
- OccamsMirror 1y agoTo makeitdouble's point, how is this any different with an LLM provided solution? What confidence do you have that isn't also beginning an unlimited game of bug testing whack-a-mole? My confidence in LLMs is not that high and I use Claude a lot. The limitations are very apparent very quickly. They're great for simple refactors and doing some busy work, but if you're refactoring something you're too afraid to do by hand then I fear you've simply deferred responsibility to the LLM - assuming it will understand the code better than you do, which seems foolhardy.
- rocqua 1y agoEspecially with refactoring, it tends to be tedious and repetitive work that is slightly too complicated for a (regex) search replace. A lot of repetitive slight variations on the same easy to describe change sounds pretty good to ask an LLM to do quickly.
- pshc 1y ago
- adonese 1y agoIs cursor _that_ good on monorepo? My use with AI so far has been the chat interface. I provide a clear description of what i want and manually copy paste it. Using copilot, I couldn't buy their agentic mode nor adding files to the chat' session context. Gemini' large context has been really good handling large context, but still doesn't help much in refactoring.
- Aeolun 1y agoIf you can feed it the right context. Though I’m sure it’s more the model than Cursor doing the work. Cursor just makes it easy to apply and review.
- torben-friis 1y agoCursor is good as retrieving the appropriate context and baking it into your request, which significantly improves responses and reduces friction. It sometimes pulls generic config or other stuff that I might miss to include in a first attempt
- throwaway2037 1y ago> Counterpoint: AI has help me refactor things where I normally couldn’t. Things like extracting some common structure that’s present in a slightly different way in 30 places, where cursor detects it, or suggesting potential for a certain pattern. I have a feeling this post is going to get a lot of backlash, but I think this is a very good counterpoint. To be clear: I am not here to shill for LLMs nor vibe coding. This is a good example where an "all seeing" LLM can be helpful. Whether or not you choose to accept the recommendation from the LLM isn't my main point. The LLM making you aware is the key value here. Recently, I was listening to a podcast about realistic real world uses for an LLM. One of them was a law firm trying to review details of a case to determine a strategy. One of podcasters (sp?) recoiled in horror: "An LLM is writing your briefs?" They replied: "No, no. We use it generate ideas. Then, we select best." It was experts (lawyers, in this case) using an LLM as a tool.
- bamboozled 1y agoI've found it can help one get the confidence to get started, but there are limits and there is a point where a lack of domain knowledge and a desired target (sane) architecture will bight you hard. You can have AI almost generated anything, but even AI has limited to understanding requirements, if you cannot articulate what you want very precisely, it's difficult to get "AI" to help you with that.
- jajko 1y agoIf you couldnt do the task youself (a very loaded statement which I honestly dont't believe), how could you even validate what llm did was correct, didnt miss anything, didnt introduce a nasty corner case bug etc? In any case a very rare and specific corner case you mention, a dev can go on a decade or two (or lifetime or two) without ever experiencing similar requirement. If it should be a convincing argument for almighty llm it certainly isnt.
- larodi 1y agowell, in all honesty, a lot of code that actually works in production, and delivers... goods, services, etc. is an over patched mess of code snippets. that sad part is that cpus are so powerful that it works.
- mystified5016 1y agoYeah, this isn't new, but it certainly seems worse now
- amrocha 1y agoThis argument ignores the fact that AI makes it so much easier to ship a ton of garbage. It’s like comparing a machine gun to a matchlock pistol and saying they’re the same thing.
- larodi 1y agopoint is people been shipping/shitting tons of shit...ty code in production for very long now. only matters in very large cyber conflicts.
- mullingitover 1y agoSoftware is a gas that expands to fill its container.
- hackable_sand 1y agoProbably closer to compacting cats into a room.
- noiv 1y agoI feel you and would personally pay a bit more for LLMs trained on 'senior code'.
- deleted 1y ago[deleted]
- ModernMech 1y agoYeah, I feel like a lot of the code they spit out is tutorial-level code you find on beginner websites.
- Flemlo 1y agoA hype is over promising and under delivering. AI is extremely new, impressive and is already changing things. How can that be in any way be similar to crypto and VR?
- bigstrat2003 1y ago> A hype is over promising and under delivering. Indeed, which is exactly what's happening with AI.
- gavinward 1y agoAgreed. I can't think of another area where AI could amplify the effect of my existing level of knowledge as it does with coding. It's far exceeding my expectations.
- cyanydeez 1y agoSo, the internet was great until Facebook showed up. Facebook of AI is coming and it's going to be much, much worse. and it'll still contain as you describe.
- deleted 1y ago[deleted]
- ModernMech 1y agoYes, it's new and impressive and changing things, but nevertheless it's still underdelivering because the over-promising is out of control. They are selling these things as Ph.D. level researchers that can ace the SAT, pass the MCAT, pass the Bar, yet it still has trouble counting the R's in "strawberry".
- RossBencina 1y agoIf I could afford it I'd quite happily employ a Ph.D. level researcher with inability to count the R's in strawberry. The real problem is in accurately characterising where these models fail in relatively subtle task-relevant ways. Hopefully people work that out before they are universally deployed. The overpromising is definitely a problem.
- ModernMech 1y ago> English (or all spoken human language) is not precise enough to articulate what you want your code to do Exactly. And this is why I feel like we are going to go full circle on this. We've seen this cycle in our industry a couple times now: "Formal languages are hard, wouldn't it be great if we could just talk in English and the computer would understand what we mean?" -> "Natural languages are ambiguous and not precise, wouldn't it be great if we could use a formal langue so that the computer can understand precisely what we mean?" The eternal hope is that someday, somehow, we will be able to invent a natural language way of communicating something precise like a program, and it's just not going to happen. Why do I think this? Because we can't even use natural language to communicate unambiguously between intelligent people. Our most earnest attempt at this, the law, is so fraught with ambiguity there's an entire profession dedicated to arguing in the gray area. So what hope do we have controlling machines precisely in this way? Are future developers destined to be equivalent to lawyers, who have to essentially debate the meaning of a program before it's compiled, just to resolve the ambiguities? If that's where this ends up, I will be very sad indeed.
- Nathanba 1y agoit doesn't have to be precise enough anymore though because a perfect AI can get all the details from the existing code and understand your intent from your prompt.
- ModernMech 1y ago"Forty-two!" yelled Loonquawl. "Is that all you've got to show for seven and a half million years' work?" "I checked it very thoroughly," said the computer, "and that quite definitely is the answer. I think the problem, to be quite honest with you, is that you've never actually known what the question is." "But it was the Great Question! The Ultimate Question of Life, the Universe and Everything!" howled Loonquawl. "Yes," said Deep Thought with the air of one who suffers fools gladly, "but what actually is it?" A slow, stupefied silence crept over the men as they stared at the computer and then at each other. "Well, you know, it's just everything... everything..." offered Phouchg weakly. "Exactly!" said Deep Thought. "So once you do know what the question actually is, you'll know what the answer means."
- bdangubic 1y agoIt ends up being a collection of disorganized business problems converted into code, without any kind of structure. this matches the description of every codebase (except one) I came across in my 30-year career
- salomonk_mur 1y agoThen you had some very shitty jobs. Good teams put time and effort in architecture before development. LLMs will produce code with good structure, as long as you provide that architecture before hand.
- Aeolun 1y agoGood teams are few and far between. I guess most of them are made over time.
- lovich 1y ago> Good teams put time and effort in architecture before development. I can only accept that as true if I also accept the fact that the vast majority of jobs won’t be on a good team
- lodovic 1y agoMost teams are understaffed and under pressure to deliver. Agile is all the rage so why spend time developing architecture when you can yolo it during the implementation phase?
- maeln 1y agoWhile I have a similar experience with, hurm, "legacy" codebase, I gotta say, LLM (in my experience) made the "legacification" of the codebase way, way faster. One thing especially, is the loss of knowledge about the codebase. While there was always some stackoverflow-coding, when seeing a weird / complicated piece of code, I used to be able to ask the author why it was like that. Now, I sometimes get the answer "idk, its what chatgpt gave me".
- 1y ago
- jmyeet 1y agoYou're not wrong that AI is hyped just like crypto and VR were. But it's also true that automation will increasingly impact your job, even for jobs that we have considered to be highly technical like software engineering. I've noticed this over the last decade where tech people (of which I am one) have considered themselves above the problems of ordinary workers such as just affording to live. I really started to notice this in the lead up to the 2016 election where many privileged people did not recognize or just immediately dismissed the genuine anger and plight of working people. This dovetails into the myth of meritocracy and the view that not having enough money or lacking basic necessities like food or shelter or a personal, moral failure and not a systemic problem. Tech people in the 2010s were incredibly privileged. Earnings kept going up. There was seemingly infinite demand for our services. Life was in many ways great. The pandemic was the opportunity for employers to reign in runaway (from their perspective) labor costs. Permanent layoff culture is nothing more than suppressesing wages. The facade of the warm, fuzzy Big Tech employer is long gone. They are defense contractors now. Google, Microsoft or Amazon are indistinguishable from Boeing, Lockheed Martin and Northrop Grumman. So AI won't immediately replace you. It'll start by 4 engineers with AI being able to do the job that was previously done by 5. Laying off that one person saves that money directly but also suppresses the wages of the other 4 who won't be asking for raises. They're too afraid of losing their jobs. Then it'll be 3. Then 2. A lot of people, particularly here on HN, are going to find out just how replaceable they are and how aligning with the interests of the very wealthiest was a huge mistake. You might get paid $500K+ a year but you are still a worker. Your interests align with nurses, teachers, baristas, fast food workers and truck drivers, not the Peter Thiels of the world.
- sham1 1y agoThere have always been segments of the working class, which have deluded themselves into believing that by co-operating with the capitalists, they could shield themselves from the adverse effects of what is happening to the rest of the working class. And it's an understandable impulse, but at some point you'd think people would learn instead of being mesmerized by the promise of slightly better treatment by the higher classes in exchange for pushing down the rest of the working class. Now it's our turn as software engineers to swallow that bitter pill.
- wesselbindt 1y agoOne simile I've heard describing the situation where fancy autocomplete can no longer keep track of its patches is that you'll be sloshing back and forth between bugs. I thought it was quite poetic.
- major505 1y agoIn 20 yeas in this market I saw a lot of this. A about 6 years back it was the blockchain crazy. My boss wanted me to put blockchain in everything (so he could market this to our clients). I printed a small sign and left on my desk. Everytime someone asked me about blockchain, I would point the sign "We don't need blockchain!"
- wg0 1y agoThis is professionalism. Appeasement is dishonest.
- ryandrake 1y agoEvery 5 years or so, there's some new thing that every uncreative product lead decides they absolutely must have, for no other reason than that it's the "in" thing. Web is hot. We need to put our product on the web. Mobile is hot. We need a mobile app. 3D is hot. We need to put 3D in our product. VR is hot. We need to put VR in our product. IoT is hot. We need to put IoT in our product. Blockchain is hot. We need to put blockchain in our product. AI is hot. We need to put AI in our product. It'll keep going on long after we're out of the business.
- noobermin 1y agoIf you have to be so precise in your prompts to the point you're almost using a well specified, domain-specific language, you might as well program again because that's effectively the same thing.
- jb3689 1y agoMakes me wonder if we’ll see more emphasis on loosely coupled architecture as a result of this. Software engineers maintain the structure, and AI codes it chaos at the leaf. Similar to how data engineers commoditized data via the warehouse