16 ms·
The cult of vibe coding is dogfooding run amok
- scrame 7mo agoThis is the guy that created bittorrent, btw. I know that was a long time ago, but he's not just some random blogger.
- EGreg 7mo agoGlad to see Bram getting into things lately. Second appearance on HN
- llm_nerd 7mo ago[flagged]
- scrame 7mo ago[flagged]
- llm_nerd 7mo ago[flagged]
- dang 7mo agoCould you please stop posting unsubstantive comments and flamebait? You've unfortunately been doing it repeatedly. It's not what this site is for, and destroys what it is for. If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.
- hungryhobbit 7mo agoGiven his background, you'd think he'd know that he should provide some evidence for his position (instead of making this completely unsupported rant).
- Waterluvian 7mo agoI think you're interpreting the structure and goal of "Bram's Thoughts" wrong. It's a guy's blog, not a thesis defense.
- _moof 7mo agoIt's a blog post, not an academic paper. Do you cite every source when you're conversing with colleagues?
- tombert 7mo agoI wasn't too upset with Bram's article, but I do think people should be citing specific claims, even in blog posts. If you make an assertion in a blog post, I have no idea if you got the information from a respected scientific journal, or Reddit, or InfoWars, or the writing of a bathroom stall. It's hard to know if the assertion is grounded in reality or just something you made up. The response I get to this is universally "LOL just look it up yourself man!", but that feels like a cop out. When I write blog posts, I put inline links all over the place to try and justify my assertions to show where I'm getting this information. If I sourced some bad information from a bad source, it's clear to know where I got it from and you can either notify me or disregard the assertion.
- aaron695 7mo ago[dead]
- claudiug 7mo ago99% of people here dont know what is bittorrent. but they can vibe it :)
- deleted 7mo ago[deleted]
- rib3ye 7mo agoI guess we're not going to talk about his cryptocurrency?
- reconnecting 7mo ago> Then I explain what I think should be done and we’ll keep discussing it until I stop having more thoughts to give and the machine stops saying stupid things which need correcting. Users like the author must be the most valuable Claude asset, because AI itself isn't a product — people's feedback that shapes output is.
- disposition2 7mo ago> Users like the author He’s a pretty interesting fella, I imagine his work influenced a lot of people over the years https://en.wikipedia.org/wiki/Bram_Cohen https://en.wikipedia.org/wiki/Bram_Cohen
- deleted 7mo ago[deleted]
- reconnecting 7mo agoAnd this is actually sad. I wish programmer like Bram Cohen spent their time teaching other people instead of a chat model.
- deleted 7mo ago[deleted]
- infinitewars 7mo agoAI is just another layer of abstraction. I'm sure the assembly language folks were grumbling about functions as being too abstracted at one point
- pavel_lishin 7mo agoYou could say that about atomic bombs, too.
- kmaitreys 7mo agoHigh level languages that replaced assembly are not black boxes.
- deleted 7mo ago[deleted]
- kaoD 7mo agoAnd they're as deterministic as as the underlying thing they're abstracting... which is kinda what makes an abstraction an abstraction. I get that people love saying LLMs are just compilers from human language to $OUTPUT_FORMAT but... they simply are not except in a stretchy metaphorical sense. That's only true if you reduce the definition of "compiler" to a narrow `f = In -> Out`. But that is _not_ a compiler. We have a word for that: function. And in LLM's case an impure one.
- makerofthings 7mo agoI totally see what you're saying, but to me this feels different. Compilation is a fairly mechanical and well understood process. The large language models aren't just compiling English to assembler via your chosen language, they try and guess what you want, they add extra bits you didn't ask for, they're doing some of your solution thinking for you. That feels like more than just abstraction to me.
- seanosaur 7mo agoI think it's still abstraction by definition, but you're right in that it's a much larger single leap than in the past.
- dominotw 7mo ago> So pure vibe coding is a myth. But they’re still trying to do it, and this leads to some very ridiculous outcomes creating a product in a span of mere months that millions of developers use everday is opposite of ridiculous. we wouldn't even have known about the supposed ridiculousness of code if it hadnt leaked.
- noosphr 7mo agoI suppose months is better than weeks. The world's still not recovered from the last such tech used by millions of developers.
- saulpw 7mo ago> That wouldn’t even be a big violation of the vibe coding concept. You’re reading the innards a little but you’re only giving high-level, conceptual, abstract ideas about how problems should be solved. The machine is doing the vast majority, if not literally all, of the actual writing. Claude Code is being produced at AI Level 7 (Human specced, bots coded), whereas the author is arguing that AI Level 6 (Bots coded, human understands somewhat) yields substantially better results. I happen to agree, but I'd like to call out that people have wildly different opinions on this; some people say that the max AI Level should be 5 (Bots coded, human understands completely), and of course some people think that you lose touch with the ground if you go above AI Level 2 (Human coded with minor assists). [0] https://visidata.org/ai https://visidata.org/ai
- sbysb 7mo ago> some people say that the max AI Level should be 5 > of course some people think that you lose touch with the ground if you go above AI Level 2 I really think that this framing sometimes causes a loss of granularity. As with most things in life, there is nuance in these approaches. I find that nowadays for my main project I where I am really leaning into the 'autonomous engineering' concept, AI Level 7 is perfect - as long as it is qualified through rigorous QA processes on the output (ie it is not important what the code does if the output looks correct). But even in this project that I am really leaning into the AI 'hands-off' methodology, there are a few areas that dip into Level 5 or 4 depending on how well AI does them (Frontend Design especially) or on the criticality of the feature (in my case E2EE). The most important thing is recognizing when you need to move 'up' or 'down' the scale and having an understanding of the system you are building
- rapind 7mo agoI'm at a 5, and only because I've implemented a lot of guardrails, am using a typed functional language with no nulls, TDD red/green, and a good amount of time spent spec'ing. No way I'd be comfortable enough this high with a dynamic language. I could probably get to a 7 with some additional tooling and a second max 20 account, but I care too much about the product I'm building right now. Maybe for something I cared less about. IMO if you're going 7+, you might as well just pick a statically typed and very safe (small surface area) language anyways, since you won't be coding yourself.
- amarant 7mo agoI had to stop reading halfway through this article, my straw allergy had me sneezing uncontrollably at all the strawmen in there!
- throw949449 7mo ago> I’ll start a conversation by saying “Let’s audit this codebase for unreachable code,” or “This function makes my eyes bleed,” and we’ll have a conversation about it until something actionable comes up. Then I explain what I think should be done and we’ll keep discussing it until I stop having more thoughts This is painful to read. It feels like rant from person who does not use version control, testing and CI. It is cruel to force machine into guessing game with a todler whose spec is "I do not like it". If you have a coding standarts and preferences, they should be already destiled and exlained somewhere, and applied automatically (like auto linter in not so old days). Good start is to find OS projects you like, let claude review it, and generate code rule. Than run it on your code base over night, until it passes tests and new coding standarts automated code review. The "vibe coding" is you run several agants in parallel, sometimes multiple agents on the same problem with different approach, and just do coding reviews. It is mistake to have a synchronous conversation with a machine! This type of works needs severe automation and parallelisation.
- mech422 7mo agowow - I thought it was called 'ideation' or 'brainstorming'. he didn't give it a 'spec', he started a conversation with it to see if 'something actionable comes up' - which you actually quoted, but didn't appear to read ?
- throw949449 7mo agoNo, I read it. Machine needs handholding because it makes spagheti code. This can be easily automated away!
- _whiteCaps_ 7mo agoBram Cohen doesn't just use version control, he invented one. https://bramcohen.livejournal.com/17319.html https://bramcohen.livejournal.com/17319.html
- semicolon_storm 7mo agoIt’s truly strange that people keep citing the quality of Claude code’s leaked source as if it’s proof vibe coding doesn’t work. If anything, it’s the exact opposite. It shows that you can build a crazy popular & successful product while violating all the traditional rules about “good” code.
- tedd4u 7mo agoStill, it's probably true that Claude Code (etc) will be more successful working on clean, well-structured code, just like human coders are. So short-term, maybe not such a big deal, but long-term I think it's still an unresolved issue.
- camdenreslink 7mo agoI imagine it is way more affordable in terms of tokens to implement a feature in a well organized code base, rather than a hacky mess of a codebase that is the result of 30 band-aid fixes stacked on top of each other.
- shimman 7mo agoYes that plus having tens of billions of gulf money certainly helps you subsidize your moronic failures with money that isn't yours while you continue, and fail to, achieve profitability in any time horizon within a single lifespan.
- tock 7mo agoHuh what moronic failure did Anthropic do? Every Claude Code user I know loves it.
- moritzwarhier 7mo agoI don't know if the comment was referring to this, but recently, people have been posting stuff about them requiring their new hire Jared Sumner, author of the Bun runtime, to first and foremost fix memory leaks that caused very high memory consumption for claude's CLI. The original source was them posting about the matter on X I think. And at first glance, none of it was about complex runtime optimizations not present in Node, it was all "standard" closure-related JS/TS memory leak debugging (which can be a nightmare). I don't have a link at hand because threads about it were mostly on Xitter. But I'm sure there are also more accessible retros about the posts on regular websites (HN threads, too).
- Rover222 7mo ago[flagged]
- operatingthetan 7mo agoI think it is a 'cult' but also at the same time the inevitable future of engineering. The cult part are a subset of people who are not thinking about LLM code generation critically and blindly follow whatever trend is popular at this exact second.
- NewsaHackO 7mo agoThe worst thing is that everyone but them knows how easy it is to take advantage of their blind hate. News companies, podcasts, and bloggers (such as this one) know they can just twist the thumbscrew and say "AI bad!" then rake in thousands of views/subs without even having to give a substantial argument.
- bearjaws 7mo agoThis is nearly as dumb as the post that "Claude code is useless because your home built "Slack App" won't be globally distributed, with multi-primary databases and redis cache layer... and won't scale beyond 50k users". As if 97% of web apps aren't just basic CRUD with some integration to another system if you are lucky. 99% of companies won't even have 50k users.
- Iulioh 7mo agoWell, users or _paying_ users? It's an important distinction
- jjk166 7mo agoProbably either. And excluding non-paying users only further narrows the applicability.
- aerhardt 7mo agoDistributing an app to 100 users inside an enterprise is already a hellish nightmare and I'm pretty convinced that citizen developers will never be a thing - we'll sooner reach the singularity.
- jschveibinz 7mo agoHere's my take: I think that citizen developers will be a thing--but not in the way you might be thinking. More people will be enabled (and empowered) to "build" quick-and-dirty solutions to personal problems by just talking to their phone: "I need way to track my food by telling you what I ate and then you telling me how much I have left for today. And suggest what my next meal should be." In the current paradigm--which is rapidly disappearing--that requires a UI app that makes you type things in, select from a list, open the app to see what your totals are, etc. And it's a paid subscription. In 6 months, that type of app can be ancient history. No more subscription. So it's not about "writing apps for SaaS subscribers." It's about not needing to subscribe to apps at all. That's the disruption that's taking place. Crappy code, maintenance, support, etc.--no longer even a factor. If the user doesn't like performance, they just say "fix ___" and it's fixed. What subscription apps can't be replaced in this disruption? Tell me what you think.
- tatrions 7mo ago[flagged]
- somewhatjustin 7mo agoThis reminds me of Clayton Christensen's theory of disruption. Disruption happens when firms are disincentivized to switch to the new thing or address the new customer because the current state of it is bad, the margins are low. Intel missed out on mobile because their existing business was so excellent and making phone chips seemed beneath them. The funny thing is that these firms are being completely rational. Why leave behind high margins and your excellent full-featured product for this half-working new paradigm? But then eventually, the new thing becomes good enough and overtakes the old one. Going back to the Intel example, they felt this acutely when Apple switched their desktops to ARM. For now, Claude Code works. It's already good enough. But unless we've plateaued on AI progress, it'll surpass hand crafted equivalents on most metrics.
- codybontecou 7mo agoEven if AI progress plateaus, I'm confident we would build tooling and patterns around the current models that would surpass hand crafted equivalents.
- ath3nd 7mo ago[dead]
- taurath 7mo agoThis isn’t the narrative, at least in any circle I speak to. The narrative is currently that everyone needs to strive to be using hundreds of dollars of tokens a day or you aren’t being effective enough. Executives are mulling getting rid of code review and tests. I’ve never seen such blind optimism and so little appreciation for how things can go wrong.
- lmm 7mo agoMaybe it'll work. Yes, disruption usually starts from the low end, but plenty of low-end alternatives die out without ever disrupting the high-end option. Right now it's making crappy, unmaintainable code, and while you can make a lot of money with crappy, unmaintainable code, the need for good code hasn't gone away.
- aleph_minus_one 7mo ago> The AI is very bad at spontaneously noticing, “I’ve got a lot of spaghetti code here, I should clean it up.” But if you tell it this has spaghetti code and give it some guidance (or sometimes even without guidance) it can do a good job of cleaning up the mess. Set up an AI bot to analyze the code for spaghetti code parts and clean up these parts to turn it into a marvel. :-)
- cladopa 7mo ago"Ladran, Sancho, señal que cabalgamos" The ship has sailed. Vibe coding works. It will only work better in the future. I have been programming for decades now, I have managed teams of developers. Vibe coding is great, specially in the hands of experts that know what they are doing. Deal with it because it is not going to stop. In the near future it will be local and 100x faster.
- sunnybeetroot 7mo agoAn expert doesn’t deploy code without reviewing it, at that point they’re vibe engineering not vibe coding.
- anthk 7mo ago"Aunque la mona se vista de seda mona se queda". A pig with lipstick it's still a pig. Or, aptly, as you quoted "Don Quixote": 'Con la iglesia hemos topado'. (indeed Sancho), we just met the Church...
- bs7280 7mo agoIn my opinion there are two main groups on the spectrum of "vibe coding". The non technical users that love it but don't understand software engineering enough to know what it takes to make a production grade product. The opposite are the AI haters that used chatgpt 3.5 and decided LLM code is garbage. Both of these camps are the loudest voices on the internet, but there is a quiet but extremely productive camp somewhere in the middle that has enough optimism, open mindedness along with years of experience as an engineer to push Claude Code to its limit. I read somewhere that the difference between vibe coding and "agentic engineering" is if you are able to know what the code does. Developing a complex website with claude code is not very different than managing a team of off shore developers in terms of risks. Unless you are writing software for medical devices, banking software, fighter jets, etc... you are doing a disservice to your career by actively avoiding using LLMs as a tool in developing software. I have used around $2500 in claude code credits (measured with `bunx ccusage` ) the last 6 months, and 95% of what was written is never going to run on someone else's computer, yet I have been able to get ridiculous value out of it.
- deleted 7mo ago[deleted]
- il-b 7mo ago> extremely productive camp somewhere in the middle How do you quantify and measure this productivity gain?
- deleted 7mo ago[deleted]
- empath75 7mo agoThese kinds of comments are so spectacularly useless. It was almost impossible to measure productivity gains from _computers_ for nearly two decades after they started being deployed to offices in the 1980s. There were articles as late as the late 1990s that suggested that investing in IT was a waste of money and had not improved productivity. You will not see obvious productivity gains until the current generation of senior engineers retires and you have a generation of developers who have only ever coded with AI, since they were in school.
- freediddy 7mo agoNo, I completely disagree with this entire article. Bad code or good code is no longer relevant anymore. What matters is whether or not AI fulfills the contract as to how the application is supposed to work. If the code sucks, you just rerun the prompt again and the next iteration will be better. But better doesn't matter because humans aren't reading the code anymore. I haven't written a line of code since January and I've made very large scale improvements to the products I work on. I've even stopped looking at the code at all except a cursory look out of curiosity. Worrying about how the sausage is made is a waste of time because that's how far AI has changed the game. Code doesn't matter anymore. Whether or not code is spaghetti is irrelevant. Cutting and pasting the same code over and over again is irrelevant. If it fulfills the contract, that's all that matters. If there's a bug, you update the contract and rerun it.
- sunnybeetroot 7mo agoThis entirely depends on the product. If it’s your own personal blog, then for sure no need to read the code, but a change in a banking architecture would be irresponsible to not have an understanding of the actual code change.
- adrian_b 7mo agoYes, vibe coding is perfectly acceptable if it is coupled with financial and penal liability of the authors of the program for any damages caused by that program, so if they choose to use it they must be willing to bet on its suitability. In case of damages, vibe coding should be an aggravating circumstance, i.e. gross negligence. When the use of a program cannot have any nefarious consequences, obviously vibe coding is fine. However, I do not use many such applications.
- cesarb 7mo ago> If it’s your own personal blog, then for sure no need to read the code, I can off the top of my head think of at least three ways in which being careless with the code powering "your personal blog" could have real consequences. Suppose it has a bug which allows unauthenticated users to manage your pages, or even worse remote code execution. Then it could be used as a jumping-off point to attack other systems, for instance by turning it into a C&C server for some malware. It could be used in a "watering hole attack" against your readers. Or someone could edit the blog articles to make it appear that you said something you didn't. "Not reading the code" is irresponsible for any software exposed to the global network.
- deleted 7mo ago[deleted]
- post-it 7mo ago> In this particular case, a human could have told the machine: “There’s a lot of things that are both agents and tools. Let’s go through and make a list of all of them, look at some examples, and I’ll tell you which should be agents and which should be tools. We’ll have a discussion and figure out the general guidelines. Then we’ll audit the entire set, figure out which category each one belongs in, port the ones that are in the wrong type, and for the ones that are both, read through both versions and consolidate them into one document with the best of both.” But that isn't the hard part. The hard part is that some people are using the tool versions and some are using the agent versions, so consolidating them one way or another will break someone's workflow, and that incurs a real actual time cost, which means this is now a ticket that needs to be prioritized and scheduled instead of being done for free.
- dogline 7mo agoI think it's becoming clear we're not anywhere near AGI, we figured out how to vectorize our knowledge bases and replay it back. We have a vectorized knowledge base, not an AI.
- mckn1ght 7mo agoI like Tesler’s Theorem, which I recently heard about: > AI is whatever hasn’t been done yet
- therobots927 7mo agoGreat way of putting it. That’s clearly what it is and it’s very good at that job. But it’s insane to pretend like it can be used with minimal supervision in all or even most applications. From a tech discourse perspective, things have never been less productive than they are right now. I feel like we’re witnessing the implosion of an industry in real time. Thanks in no small part to venture capital and its henchmen. Everyone seems to be drinking the proverbial kool-aid, and everyone else who is looking at the situation skeptically are labeled luddites. I expect we’ll get some clarity over the next few years on who is right. But I don’t know. It feels like the breakdown of shared epistemology. The kind of shared epistemology on which civilization was built.
- CrzyLngPwd 7mo agoI feel like vibe coding a product is functionally the same as prototyping. In the past, which is a different country, we would throw away the prototypes. Nowadays vibe coding just keeps adding to them.
- jmyeet 7mo ago[flagged]
- hintymad 7mo agoIt looks vibe coding, or at AI coding in general, has been challenging a few empirical laws: - Brooks' No Silver Bullet: no single technology or management technique will yield a 10-fold productivity improvement in software development within a decade. If we write a spec that details everything we want, we would write soemthing as specific as code. Currently people seem to believe that a lot of the fundamentals are well covered by existing code, so a vague lines of "build me XXX with YYY" can lead to amazing results because AI successfully transfers the world-class expertise of some engineers to generate code for such prompt, so most of the complex turns to be accidental, and we only need much fewer engineers to handle essential complexities. - Kernighan's Law, which says debugging is twice as hard as writing the code in the first place. Now people are increasingly believing that AI can debug way faster than human (most likely because other smart people have done similar debugging already). And in the worst case, just ask AI to rewrite the code. - Dijkstra on the foolishness of programming in natural language. Something along the line of which a system described in natural language becomes exponentially harder to manage as its size increases, whereas a system described in formal symbols grows linearly in complexity relative to its rules. Similar to above, people believe that the messiness of natural language is not a problem as long as we give detailed enough instructions to AI, while letting AI fills in the gaps with statistical "common sense", or expertise thereof. - Lehman’s Law, which states that a system's complexity increases as it evolves, unless work is done to maintain or reduce it. Similar to above, people start to believe otherwise. - And remotely Coase's Law, which argues that firms exist because the transaction costs of using the open market are often higher than the costs of directing that same work internally through a hierarchy. People start to believe that the cost of managing and aligning agents is so low that one-person companies that handle large number of transactions will appear. Also, ultimately Jevons Paradox, as people worry that the advances in AI will strip out so much demand that the market will slash more jobs than it will generate. I think this is the ultimate worry of many software engineers. Luddites were rediculed, but they were really skilled craftsmen who spent years mastering the art of using those giant 18-pound shears. They were the staff engineers of the 19th-century textile world. Mastering those 18-pound shears wasn't just a job but an identity, a social status, and a decade-long investment in specialized skills. Yeah, Jevons Paradox may bring new jobs eventually, but it may not reduce the blood and tears of the ordinary people. Intereting times.
- teaearlgraycold 7mo ago> You don’t have to have poor quality software just because you’re using AI for coding. People were given faster typers with incredible search capabilities and decided quality doesn’t matter anymore. I don’t even mean the code. The product quality is noticeably sub par with so many vibe-coded projects.
- ape4 7mo agoCan they ask the Claude to clean up the duplication etc its English code?
- a_shovel 7mo agoThey think their dog food tastes great now, not because they improved it any, but because they've forgotten the taste of human food. Karmically hilarious.
- nenadg 7mo agowhat about the cult vibe projecting every business logic agentic?
- hibikir 7mo agoMy favorite uses of Claude code is to do code quality improvements that would be seen as a total waste of time if I was doing them by hand, but are perfectly fine when they are done mostly for free. Looking for repetitive patterns in unit tests/functional tests. Making sure that all json serialization is done in similar patterns unless there's a particularly good reason. Looking for functions that are way too complicated, or large chunks of duplication. The PRs that it comes with are rarely even remotely controversial, shrink the codebase, and are likely saving tokens in the end when working on a real feature, because there's less to read, and it's more boring. Some patterns are so common you can just write them down, and throw them at different repos/sections of a monorepo. It's the equivalent of linting, but at a larger scale. Make the language hesitant enough, and it won't just be a steamroller either, and mostly fix egregrious things. But again, this is the opposite of the "vibe coding" idea, where a feature appears from thin air. Vibe Linting, I guess.
- jkingsman 7mo agoAbsolutely. I've got a nice multi-paragraph prompt on hunting for subtle bugs, user expectation breaks, crufty/repeated code, useless tests (six tests that actually should be one logical flow; assertions that a ternary is still, indeed, a ternary; etc.), documentation gaps, and a few other bits and bobs. I sick Opus, GPT5.4, and Gemini on it, have them write their own hitlists, and then have a warden Opus instance go and try to counterprove the findings, and compose a final hitlist for me, then a fresh context instance to go fix the hitlist. They always find some little niggling thing, or inconsistency, or code organization improvement. They absolutely introduce more churn than is necessary into the codebase, but the things they catch are still a net positive, and I validate each item on the final hitlist (often editing things out if they're being overeager or have found a one in a million bug that's just not worth the fix (lately, one agent keeps getting hung up on "what if the device returns invalid serial output" in which case "yeah, we crash" is a perfectly fine response)).
- physicles 7mo agoMind sharing that prompt? This is one of my favorite uses for AI too, but I’m just using it to fix the stuff that’s already top of mind for me.
- cyrusradfar 7mo agoOT: I really enjoy Bram's takes, he's brilliant and prickly in the best ways.
- carverauto 7mo agoalmost as insane as your dumb crypto project
- quater321 7mo agoDo you guys remember the cult of git or the containerization cult? Damn, I hate the advancement ;D
- recursive 7mo agoI also remember the NFT cult.
- greedo 7mo agoI've been a skeptic about LLMs in general since I first heard of them. And I'm a sysadmin type, more comfortable with python scripts than writing "real" software. No formal education in coding at all other than taking Harvard's free online python course a few years ago. So I set out to build an app with CC just to see what it's like. I currently use Copilot (copilot.money) to track my expenditures, but I've become enamored with sankey diagrams. Copilot doesn't have this charting feature, so I've been manually exporting all my transactions and massaging them in the sankey format. It's a pain in the butt, error prone, and my python skills are just not good enough to create a conversion script. So I had CC do it. After a few minutes of back and forth, it was working fine. I didn't care about spaghetti code at all. So next I thought, how about having it generate the sankey diagrams (instead of me using sankeymatic's website). 30 minutes later, it had a local website running that was doing what I had been manually doing for months. Now I was hooked. I started asking it to build a native GUI version (for macOS) and it dutifully cranked out a version using pyobjC etc. After ironing out a few bugs it was usable in less than 30 min. Feature adds consumed all my tokens for the day and the next day I was brimming with changes. Burned through that days tokens as well and after 3 days (I'm on the el cheapo plan), I have an app that basically does what I want in a reasonable attractive, and accurate manner. I have no desire to look at the code. The size is relatively small, and resource usage is small as well. But it solved this one niche problem that I never had the time or skill to solve. Is this a good thing? Will I be downvoted to oblivion? I don't know. I'm very very concerned about the long term impact of LLMs on society, technology and science. But it's very interesting to see the other side of what people are claiming.
- jkingsman 7mo agoI really identify with this. As an engineer, I really do enjoy building things. However, a lot of times, what I want is a thing that is built. A lot of time, that means I build it, which sometimes I enjoy and sometimes I don't; so many of my half finished projects are things that I still think would be awesome to have but didn't care to invest the time in building. LLM-driven develop lets me have the thing built without needing to build the thing, and at the same time I get to exercise some ways-to-build I don't use as often (management, spec writing, spec editing, proactive unblocking, etc.). I have no doubt my work with LLMs has strengthened mental muscles that are also be helpful in technical management contexts/senior+principal-level technical work.
- nathias 7mo agothe simple truth is all code is garbage
- johnfn 7mo ago"Laughing" at how bad the code in Claude Code is really seems to be missing the forest for the trees. Anthropic didn't set out to build a bunch of clean code when writing Claude Code. They set out to make a bunch of money, and given CC makes in the low billions of ARR, is growing rapidly, and is the clear market leader, it seems they succeeded. Given this, you would think you'd would want to approach the strategy that Anthropic used with curiosity. How can we learn from what they did? There's nothing wrong with saying that Claude Code is written shoddily. It definitely is. But I think it should come with the recognition that Anthropic achieved all of its goals despite this. That's pretty interesting, right? I'd love to be talking about that instead.
- alephnerd 7mo ago> That's pretty interesting, right? I'd love to be talking about that instead So would I and a couple of others, but HNers don't want to have those kinds of conversations anymore.
- quikoa 7mo agoIf Claude Code truly was worth something they'd sell it instead of forcing its use with a subscription.
- dcre 7mo agoIncredible take. They are selling it.
- doubleorseven 7mo ago"figure out which category each one belongs in, port the ones that are in the wrong type, and for the ones that are both, read through both versions and consolidate them into one document with the best of both.” memory created!
- jameson 7mo agoVibe coders' argument* is that quality of code does not matter because LLMs can iterate much much faster then humans do. Consider this overly simplified process of writing a logic to satisfy a requirement: 1. Write code 2. Verify 3. Fix We, humans, know the cost of each step is high, so we come up various way to improve code quality and reduce cognitive burden. We make it easier to understand when we have to revisit. On the other hand, LLMs can understand** a large piece of code quickly***, and in addition, compile and run with agentic tools like Claude Code at the cost of token****. Quality does not matter to vibe coders if LLMs can fill the function logic that satisfies the requirement by iterating the aforementioned steps quickly. I don't agree with this approach and have seen too many things broken from vibe code, but perhaps they are right as LLMs get better. * Anecdotal ** I see LLM as just a probabilistic function so it doesn't "reason" like humans do. It's capable of highly advanced problem solving yet it also fails at primitive task. *** Relative to human **** Cost of token I believe is relatively cheaper compared to a full-time engineer and it'll get cheaper over time.
- parineum 7mo ago> ** Cost of token I believe is relatively cheaper compared to a full-time engineer and it'll get cheaper over time. I don't know how true this is going to be, at least in the short term. The big providers are likely running at a loss and, as models have gotten better, they've also crept up in price as well. They/you are counting on them hitting a point where it is actually cheap for the value provided (after they take some off the top) but I don't see that as inevitable before these companies go under or pivot into much more specialized tools for big clients. It's not clear to me that AI code is cheaper than human code (of equal functionality).
- galaxyonknowled 7mo ago[dead]
- sneak 7mo agoWhere is the evidence that people are obsessed with one-shotting and not doing the iterative back-and-forth, prompt-and-correct system he describes here? It feels like he is attacking a strawman.
- doubleorseven 7mo agoI vibe code. but I also remember the days I had ZERO KNOWLEDGE of what needs to be done, and I would hammer the keyboard with garbage code from stack overflow and half baked documentations plus some native guessing of human nature. the end result was me understanding what the hell was going on. those days are over.
- deleted 7mo ago[deleted]
- jrm4 7mo agoThis definitely reminds me of a lot of Nassim Taleb's work, which to say -- Anthropic may not be behaving intelligently but they are at least somewhat behaving honorably, -- if you're going to put out a dangerous product, a moral minimum is to use it heavily yourself so as to be exposed to the risk it creates.
- Fr0styMatt88 7mo agoIt’s so strange. I think there’s a few different groups: - Shills or people with a financial incentive - Software devs that either never really liked the craft to begin with or who have become jaded over time and are kind of sick of it. - New people that are actually experiencing real, maybe over-excitement about being able to build stuff for the first time. Forgetting the first group as that one is obvious. I’ve encountered a heap of group 2. They’re the ones sick of learning new things, for whatever reason. Software work has become a grind for them and vibe coding is actually a relief. Group 3 I think are mostly the non-coders who are genuinely feeling that rush of being able to will their ideas into existence on a computer. I think AI-assisted coding could actually be a great on-ramp here and we should be careful not to shit on them for it.
- Ancalagon 7mo agoPersonally I'm getting sick of the slop. If anything that is whats making me care less.
- pclowes 7mo agoI don’t think that is true. I know several very high-performing engineers (some who could have retired a long time ago and are just in it for the love of the game) who use AI prolifically, without lowering any bars, and just deliver a lot more work.
- empath75 7mo ago> I’ve encountered a heap of group 2. They’re the ones sick of learning new things, for whatever reason. I say this kindly, but are you sure that _you_ aren't the one in group 2, and _they_ aren't the ones learning new things? A lot of the discourse around ai coding reminds me of when I went to work for a 90s tech company around 2010 and all the linux guys _absolutely refused_ to learn devops or cloud stuff. It sucks when a lifetime of learned skills becomes devalued over night.
- Fr0styMatt88 7mo agoThat’s pretty fair, I’m currently in the “trying to get over the feeling that it’s cheating” phase and also just haven’t formed the habit yet of reaching for AI as a tool in my toolbox; particularly in things like pre-review AI-assisted code review, which I’ve found really useful but sometimes don’t think of doing when I could.
- ontouchstart 7mo agoVibe coding is like building castles in a sandbox, it is fun but nobody would live in them. Once you have learned enough from playing with sand castles, you can start over to build real castles with real bricks (and steel if you want to build skyscraper). Then it is your responsibility to make sure that they would not collapse when people move it.
- simonw 7mo agoHow credible are the claims that the Claude Code source code is bad? AI naysayers are heavily incentivized to find fault with it, but in my experience it's pretty rare to see a codebase of that size where it's not easy to pick out "bad code" examples. Are there any relatively neutral parties who've evaluated the code and found it to be obviously junk?
- larodi 7mo agoHow credible are the claims code en masse is good? Because I despise nearly every line of unreasonably verbose Java, that is so much waste of time and effort, but still deployed everywhere.
- 59nadir 7mo agoDo you not think that ~400k lines of code for something as trivial as Claude Code is a great indication that there is an immense amount of bloat and stacking of overwrought, poor "choices" by LLMs in there? Do you not encounter this when using LLMs for programming yourself? I routinely write my own solutions in parallel to LLM-implemented features from varying degrees of thorough specs and the bloat has never been less than 2x my solution, and I have yet to find any bloat in there that would cover more ground in terms of reliability, robustness, and so on. The biggest bloat factor I've found so far was 6x of my implementation. I don't know, it's hard to read your post and not feel like you're being a bit obtuse. You've been doing this enough to understand just how bad code gets when you vibecode, or even how much nonsense tends to get tacked onto a PR if someone generates from spec. Surely you can do better than an LLM when you write code yourself? If you can, I'm not sure why your question even needs to be asked.
- simonw 7mo ago> Do you not think that ~400k lines of code for something as trivial as Claude Code is a great indication that there is an immense amount of bloat and stacking of overwrought, poor "choices" by LLMs in there? I certainly wouldn't call Claude Code "trivial" - it's by far the most sophisticated TUI app I've ever interacted with. I can drag images onto it, it runs multiple sub-agents all updating their status rows at the same time, and even before the source code leaked I knew there was a ton of sophistication in terms of prompting under the hood because I'd intercepted the network traffic to see what it was doing. If it was a million+ lines of code I'd be a little suspicious, but a few hundred thousand lines feels credible to me. > Surely you can do better than an LLM when you write code yourself? It takes me a solid day to write 100 lines of well designed, well tested code - and I'm pretty fast. Working with an LLM (and telling it what I want it to do) I can get that exact same level of quality in more like 30 minutes. And because it's so much faster, the code I produce is better - because if I spot a small but tedious improvement I apply that improvement. Normally I would weigh that up against my other priorities and often choose not to do it. So no, I can't do better that an LLM when I'm writing code by hand. That said: I expect there are all sorts of crufty corners of Claude Code given the rate at which they've been shipping features and the intense competition in their space. I expect they've optimized for speed-of-shipping over quality-of-code, especially given their confidence that they can pay down technical debt fast in the future. The fact that it works so well (I get occasional glitches but mostly I use it non-stop every day and it all works fine) tells me that the product is good quality, whether or not the lines of code underneath it are pristine.
- FrankWilhoit 7mo agoEvery so often, some Windows source gets leaked, and people have a lot of fun laughing at how bad it is. If the source of, say, PeopleSoft were leaked, people would have a lot of fun laughing at how bad it is. If the source of Hogan Deposits were leaked, it would kill anyone who saw it.
- dcre 7mo agoBizarre to make claims about how the Claude Code devs work based solely on the leaked source. They have talked plenty about how they work.
- moger777 7mo agoWe don't know how Claude Code looked before it was vibe coded. It might have always sucked.
- 2197aG 7mo agoLooks like he just promotes AI by attacking vibe coding and inserting his own personal religion. AI is good, you just need to use it right. "I have been screaming at my computer this past week dealing with a library that was written by overpaid meatbags with no AI help." And here we go: The famous "humans do it, too" argument. With the gratuitous "meatbag" propaganda. Look Bram, if you work on bitcoin bullshit startups, perhaps AI is good enough for you. No one will care.
- deleted 7mo ago[deleted]
- serf 7mo agopeople that 'violate the rules of good code' when vibe-coding are largely people that don't know the rules of good code to begin with. want code that isn't shit? embrace a coding paradigm and stick to it without flip-flopping and sticking your toe into every pond, use a good vcs, and embrace modularity and decomposability. the same rules when 'writing real code'. 9/10 times when I see an out-of-control vibe coded project it sorta-kinda started as OOP before sorta-kinda trying to be functional and so on. You can literally see the trends change mid-code. That would produce shit regardless of what mechanism used such methods, human/llm/alien/otherwise.
- nightrate_ai 7mo ago[dead]
- areys 7mo ago[flagged]
- HenryChen 7mo agoVibe coing 0 to 1 feels like the move. Ship fast, fix later.
- youknownothing 7mo agoI don't think this has anything to do with dogfooding. As the author says, dogfooding is about consuming your own product. You can consume Claude Code and still be a reasonable engineer. It's difficult to tell what's actually happening without an insider view but, IMHO, this is just the typical go-fever of start-up thinking: produce loads of functionality as quickly as possible and don't think about quality. It was try before AI, and it will be true after AI. Also, to those who say "this is proof that code quality doesn't matter any more", let's have this chat 5 years from now when they're crumbling under the weight of their own technical debt :)
- fred_is_fred 7mo agoThe whole idea of someone's code being perfectly handcrafted may have been true in 1998, but any project you start now builds on a tower of open source libraries frameworks, and container images - probably running on someone else's infra. Nobody is really starting from a blank page anymore.
- rib3ye 7mo agoKnowing this is the wrong crowd, I hesitate to even type this, but come on... The pace of evolution on this topic is hard to ignore: 2024 - Utter Trash 2025 - Merely hotdog water 2026 - Aaaaaaaaaactually pretty good... Every forward-leaning platform is building out an MCP interface, I think we're past the point of "soulless fad."
- maxmorrish 7mo agothe middle ground nobody talks about is using AI for the boring infrastructure stuff (stripe integration, auth boilerplate, static site scaffolding) and writing the actual business logic yourself. i've shipped like 3 side projects this year using that approach and the code quality is fine because im not vibe coding the parts that actually matter
- lmm 7mo agoYeah, people do forget how much of our codebases is already slop. Like, anything that's in a "boilerplate" or "scaffold" is probably code that a human shouldn't be spending time writing in the first place.
- TaylorGood 7mo agoVibe coding for me was a paradigm shift on AI as a tool I can utilize to unlock more. I started with no-code solutions, and never could get to the last 10% of production-ready. Then saw someone on X mention Cursor. Avoided it, avoided it then said fuck it and dove in, and now I use it daily and it's been a game changer. Prior to all this, I had front-end experience at best... like modifying Wordpress themes back in the day, etc. - I've since shipped two software platforms that are basically AI OS for certain verticals, and an intricate iPhone app, etc... None of this was possible for me before six months ago. Big fan of the IDE experience. I tried Claude Code but I don't like not knowing what's going on the way I see it in Cursor. The first platform I was idea to market in 3 weeks, then the next platform, it took me a day. Not MVP, but fully built out. That's insane. My first startup was an iPhone app back during iOS7, and we had to outsource V1, and it took six months and cost $50k. It was a terrible MVP. Lol. In comparison, I'm doing what I'm doing in Cursor on the $60 plan. All this to say, Vibe Coding as a no-code, even if the solution can hook api's for you, etc, nah. It should be a gateway at best to fully understand and build via agentic development.
- kwar13 7mo agoOnly in an echo chamber people spend nitpicking about what is "good code". For vast majority of use cases, the 'good code' the one that works. And then you have the source code for quake or doom.
- edinetdb 7mo ago[flagged]
- psychomfa_tiger 7mo ago[flagged]
- Null-Set 7mo agoYou should eat your own dog food, but maybe you should not drink your own rat poison.
- VerifiedReports 7mo agoLooks more like meaningless terms run amok...
- areys 7mo ago[flagged]
- bambushu 7mo ago[flagged]
- merlin1de 7mo ago[flagged]
- zephyrwhimsy 7mo ago[flagged]
- blairharper 7mo agoThe real cult is the engineers who refuse to shift their perception of what "good" or "quality" means in a world where humans, for the most part, won't be reading or writing code anymore. I get it, existential threats are scary, but you can't just shit talk them and hope they go away.
- jdforsythe27 7mo agoamen
- love2read 7mo agoIt must feel so good to make a blog post that hates on vibecoding and get your mandated recognition for a regurgitated point. Nobody is even arguing that this article said anything novel, it’s just pure hate
- abustamam 7mo agoWrote this as a reply to another comment, then realized it probably makes more sense as a top-level comment, so reposting here. IME AI-native engineering requires a lot of infrastructure to make it viable. Teams who are just opening up cursor and putting it on "auto" and trying to one shot features may get stuff that works but is indeed slop. Since the beginning of the year, I've been spearheading a low-stakes AI-native project (an internal tool). No one's written a single line of code. And we've learned so much from this experience. The first rule was our product manager, who is technical but isn't typically in the weeds, needs to be able to one-shot prompts with cursor auto. And so many rules stem from there, from e2e tests to ensure he doesn't break stuff, to custom linters to ensure that code lives in the right place, to architectural spec sheets so the LLM doesn't try to do raw DB queries from the client. We're still not there, but we're getting closer and learning and improving every day. I think the folks who are vibe coding a lot either aren't working in a team, or they are omitting the fact that they have spent a long time building harnesses to ensure the LLM doesn't run amok. And I think the people who hate vibe coding are likely just asking Claude Code to do X without using Skills that have opinionated ways to do X. All that said, I don't think we should ignore how the sausage is made at all. Part of what makes me able to move quickly in this project is knowing where stuff lives. I may not understand the line-by-line code, but if I know where to look to find out why I'm missing data that's in the DB, I can move a lot faster than if I have no idea what's going on in the codebase. Then when I find the problematic file or function, I can ask the LLM why it's like X and tell it it should be like Y.
- quantoracle 7mo ago[flagged]