8 ms·
Two publishers and three authors fail to understand what "vibe coding" means
- billy99k 2y agoI hate to break it to you, but the definition has already changed. It now means to build software exclusively using AI/LLM. It's similar to the whole hacker/cracker debate. Words become defined by the one that has the most influence over the community and sometimes evolve on their own through places like social media.
- 9rx 2y agoWords mean whatever the speaker (or author, in this case) defines them as.
- esperent 2y agoWords are defined by consensus of the community using them. That's the primary source of semantic meaning. Next one down is dictionary definition (or claim to authority, for example a tweet where the term was first used). But community meaning takes precedence. Authors are free to use a nonstandard meaning but should provide readers with their definition if they want to be understood.
- 9rx 2y ago> Words are defined by consensus of the community using them. No. That would make it impossible for someone new to a community to communicate with a community, all while at the same time a community isn't going to accept someone new who isn't communicating. Yet clearly people do join communities. What happens in reality is that everyone accepts that the speaker's definition reigns supreme, and if there is suspicion – absent of a definition – that there is a discrepancy between the speaker's definition and own's own definition, the speaker will be asked to clarify. A speaker may eventually adopt a community's definition, but that doesn't always happen either. Look at the Rust users here. They hang desperately onto words like enum that do not match the community definition. But it doesn't really matter, does it? We remember that when they say enums they really mean sum types and move on with life.
- esperent 2y ago> Yet clearly people do join communities. "Communities" here also have a hierarchy: 1. All speakers of a language 2. Speakers in a region (dialect) 3. Subgroups like teenagers, engineers, gamers, redditors 4. Sub-sub groups like teenagers from a specific school, engineers of a specific discipline, gamers of a certain game x. Personal dialect (idiolect), which is a sub group that exists separately to all of these and is most closely related to family and the friend group you had as a child and teenager. We are all members of many different groups which intermesh, and we seemlessly switch meaning and pronunciation as we do that (code switching). When joining a community, people start at the top (learn French) then move through subgroups. Dictionaries and textbooks are designed to match as closely as possible to the top level community's consensus of word meaning, which, being large, is also the most static. But any language learner will know that textbooks can only get you so far in learning how language is actually spoken day to day. You have to join the community to learn that. The same applies as you go down to dialects and other sub groups. You can learn a bit before you join, but becoming a part of the community, linguistically, can only happen after joining.
- xnx 2y agoIsn't it the converse(?)? Words mean whatever the audience understands them as.
- 9rx 2y agoNo. A speaker can only speak with words as he understands them. It is impossible to know what other people are thinking. A good speaker will define the words as he speaks (still relying on some baseline shared understanding of the most common words, of course; there is only so much time in the day...) so there is no room for confusion, but in absence of that it is expected that the listener will question any words that show an apparent disconnect in meaning, allowing the speaker to clear up what was meant, to ensure both parties can land on the same page.
- sampullman 2y agoIn theory, but in practice the audience understanding is important, and communication doesn't always end up with both sides on the same page. Even more so when it's an author/reader relationship. The reader is free to interpret the book/article/etc. how they want, and if enough agree, it becomes the consensus.
- 9rx 2y ago> but in practice the audience understanding is important Where audience understanding is important than you will definitely go out of your way to ensure that definitions are made abundantly clear and that the audience agrees that they understand. But, in actual practice, most of the time the audience understanding really doesn't matter. Most people speak for the sake of themselves and themselves alone. If the audience doesn't get it, that's their problem. Like here, it means nothing to me if you can't understand what I'm writing.
- afiori 2y agoIn that case the author is their own audience
- gensym 2y agoQuiddity lamp verdant, sempiternal. Dog pulchritudinous chair velleity? Mountain? Scrimshanker butter, petrichor.
- polotics 2y agoI live by this rule: The meaning of a message is what has been understood. To each their own, right?
- 9rx 2y agoI live by the rule: If something seems a little off, question the speaker about what they mean. It is likely they are using a different definition than you are familiar with. Accept what they tell you. Their definition is what matters. I know the tech crowd in particular loves to make up their own pet definitions for words and then double down on refusing to acknowledge that any other definition is possible, thereby continually talking past each other because there is no shared lexicon to hilarious effect, but that's not the norm, thankfully. To each their own. However, we're all in this together.
- simonw 2y agoAbsolutely agree with you on this. I've lost count of the number of times a conversation has been put back on track by realizing that the participants hate working from subtly (or wildly) different definitions of some key term without realizing it.
- afiori 2y agoThe parent said that words mean what the speaker wants them to mean, you are saying that words mean what the listener understand them to mean.
- afiori 2y agoThis is the same as saying that words have no meaning! Under this mental framework why would it be wrong to say that every living human can speak fluent french? How would you even know which language anyone is speaking? Counterproposal: words are a tool for communication and meaning is something we gather from the communication. In this words are no different than hand gestures, facial expressions, and body language. The parties to a communication can only communicate effectively if they agree enough on the meaning of words/gestures/expressions/actions (which is why we cannot speak a language we do not know)
- 9rx 2y ago> which is why we cannot speak a language we do not know You can, however, speak a language you do know even when the listener doesn't know said language. Thus proving that the words spoken are defined by the speaker. It must be that way, fundamentally – as you suggest, you can only speak the language you know. If that tells that words have no meaning, sure. That assertion means nothing anyway.
- afiori 2y agoMy main issue with either "the speaker defines the meaning of words" and "the listener defines the meaning of words" is the resulting definition is useless for all practical and theoretical concerns. It is a meaningless meaning of the word meaning. What they are trying to say is "the speaker defines the meaning of words" -> everybody understand things differently and there is no external absolute authority of meaning and "the listener defines the meaning of words" -> people are going to understand their interpretation of what you say, not what you mean Both are useful and important statement people can learn from while "X defines the meaning of words" is meaningless.
- 9rx 2y agoThe listener is only a consumer. It cannot define the words. It is not responsible for their use. It interprets, and to be sure misinterprets, the words, but that, while similar, is subtly different. Of course, at this point we're ultimately getting stuck in that nerd thing I spoke of in another comment: "I know the tech crowd in particular loves to make up their own pet definitions for words and then double down on refusing to acknowledge that any other definition is possible, thereby continually talking past each other because there is no shared lexicon to hilarious effect, but that's not the norm, thankfully." So, while hilarious, I will break the cycle and ask you to clarify what you mean by "define" so that I can shift to using your definition. I'd have used it from the start but I haven't quite figured out how to read your mind yet, so I as the speaker, unfortunately, was beholden to defining it as I understand it.
- smokel 2y agoIndeed, this is not how language evolves. You can't dictate the meaning of words. Another unfortunate example is the increasingly negative connotation assigned to the word "algorithm".
- dylan604 2y agoat this point, those that use algorithm deserve the negative connotation. just like those that use synergy deserved to be mocked. when words are used just for the sake of using the word in word salad text, they quickly lose meaningful intent as the listeners hear them as shibboleths that the speaker is talking out of their arse. bet
- deleted 2y ago[deleted]
- deleted 2y ago[deleted]
- drfuchs 2y agoSimilarly, “hacker” used to be positive, until the public at large got ahold of it.
- cruffle_duffle 2y agoThey did. But that was back in the 2000s, when nobody really understood the nuance. Today, calling someone a “hacker” to mean “computer criminal” almost feels like a boomer move. We’ve got way better language now: white hat, black hat, script kiddie, scammer (and all its lovely subgenres—pig butchering, refund scammers), phisher, etc. Not to mention whatever we’re calling the folks running dark net markets these days. And while the general public might not know the fine distinctions between these, I think society does get that there’s a whole spectrum of actors now. That wasn’t true in 2000—the landscape of online crime (and white hat work) hadn’t evolved yet. Honestly, I’m just glad the debate’s over. “Cracker” always sounded goofy, and RMS pushing it felt like peak pedantry… par for course. That said, this whole “vibe coding” thing feels like we’re at the beginning of a similar arc. It’s a broad, fuzzy label right now, and the LLM landscape hasn’t had time to split and specialize yet. Eventually I predict we’ll get more precise terms for all the ways people build software with LLM’s. Not just describing the process but the people behind the scenes too. I mean, perhaps the term “script kiddie” will get a second life?
- nathan_douglas 2y agoIsn't that what it originally meant?
- Timber-6539 2y agoNo. Just read the original tweet from Karpathy.
- simonw 2y agoGiven that this conversation is happening on the website called "Hacker News" I was hoping somebody would bring up the hacker/cracker thing!
- dang 2y agoIt used to be a painfully repetitive flamewar topic but now it feels quaint
- tptacek 2y agoI give myself credit for ending this argument, here and everywhere else, for all time, for us and our children and our children's children. https://news.ycombinator.com/item?id=1865063 https://news.ycombinator.com/item?id=1865063
- polotics 2y agoAlright so now I'm good, I will just refer to some of the code I've seen recently as having been produced with "Slopcoding". Totally works kthxbye
- jimbokun 2y ago> I hate to break it to you, but the definition has already changed. The article acknowledges this.
- alganet 2y agoSelf-defacing hack-o-tron is self aware! Ideas, ideas are much sturdier. If you change the meaning of something too radically, it has a tendency to snap back.
- aaron695 2y ago[dead]
- pchristensen 2y agoThe ship has sailed (originally “is sealed”, voice dictation error) on the original definition. Sorry Simon. But the work that Gene Kim and Steve Yegge are doing talking about chat oriented programming is really interesting, and I recommend people look into it.
- Finnucane 2y ago>The ship is sealed on the original definition. And apparently the original cliché as well.
- deleted 2y ago[deleted]
- everybodyknows 2y agoWhat would it mean to "seal" a ship?
- throwup238 2y agoTo make it waterproof. First ship builders would use caulking mallets and caulking irons to fill the gaps between wood planks with oakum, then cover the whole hull with hot pitch to create a (mostly) waterproof seal.
- xnorswap 2y ago"When I use a word," Humpty Dumpty said, in rather a scornful tone, "it means just what I choose it to mean—neither more nor less."
- bitbasher 2y agoI can’t imagine tweeting something random at 4am and the next month a whole industry was formed around my tweet’s choice of words.
- barbazoo 2y agoCan’t wait for the obligatory hn post about the documentary twitter thread on how their tweet blew up /s
- yoyohello13 2y agoIt's kind of been a rude awaking realizing that so many "founders" just choose their business direction based on the latest blog post they read.
- flappyeagle 2y agoWhy is this bad? Is the idea bad?
- sli 2y agoDo you enjoy working for a manager whose opinions change every time they read something? Do they sound like an effective manager? Have you ever had a boss that needed to think the ideas were theirs before they'd sign off, even normal, everyday process stuff? It heavily implies they don't know anything at all about what they're doing or talking about.
- bitpush 2y agoNo, but there's also something about being stubborn Ask Nokia, BlackBerry and Kodak.
- jimbokun 2y agohttps://img.devrant.com/devrant/rant/r_636522_RqpS7.jpg https://img.devrant.com/devrant/rant/r_636522_RqpS7.jpg
- alabastervlog 2y agoCan anyone recommend a video that's a good representation of "vibe coding"? I'd like to get a better sense of what the actual moment-to-moment of it looks like. LLMs have been so spectacularly useless the couple of times that I've tried to use them for programming, that I can't really wrap my head around what this must be.
- pchristensen 2y agoThis video from Gene Kim and Steve Yegge, authors of one of the books in the original post, and the description of what’s happening in it, is a good presentation: https://www.linkedin.com/pulse/lessons-learned-during-my-two-hour-pair-programming-session-gene-kim-wiehc/ https://www.linkedin.com/pulse/lessons-learned-during-my-two...
- simonw 2y agoWhich version of vibe coding do you mean? Using AI to help you write code or using LLMs to build apps without caring about the code at all?
- alabastervlog 2y agoThe not-caring version, especially.
- jofer 2y agoI'm really struggling to understand it as well. I mean, sure if what you're doing is a website, then maybe you can get something that functions out of an LLM. I don't really do web development, so maybe they're better for that specific niche. However, for most cases I've tried, I get wildly incorrect and completely non-functional results. When they do "function", the code uses dangerously incorrect techniques and gives the wrong answer in ways you wouldn't notice unless you were familiar with the problem. Maybe it's because I work in scientific computing, and there just aren't as many examples of our typical day to day problems out there, but I'm struggling to see how this is possible today...
- indigodaddy 2y ago
- throwup238 2y agoWe should call what those authors are doing “vibe writing” because they didn’t have any editors who actually cared about the contents of the book.
- zelon88 2y agoThis. I'd be concerned purchasing a book from a "programmer" who claims to teach people how to code without code. Kinda sounds like an "author" who publishes books without writing books.
- z0r 2y agoLearned from this post that steveyegge went full AI
- deleted 2y ago[deleted]
- firefoxd 2y agoWhen I first heard vibe coding, it sounded like a meme, a joke. But people took it seriously. Andrej Karpathy was still in the process of defining it when the phrase took a life of its own. I'm surprised it's making it into a book barely two months after it was coined. If vibe coding somehow becomes the method of programming, then code will become obsolete. Hear me out: Why code when you can just ask the computer to do what you want and get the results. The coding part is abstracted deep in the background where no human needs venture. When vibe coding dominates, It's not that people won’t know how to code anymore, it's that coding becomes irrelevant. The same way that there are people who still know how to ride horses, but it's irrelevant to transportation. When vibe coding reaches its peak, programming languages will evolve into something unrecognizable. Why do we need a human readable programming language when no human needs to read it? I picture a protocol agreed upon by two computers, never released to us humans.
- area51org 2y ago> Why code when you can just ask the computer to do what you want and get the results. Because then you won't know the design of the code or how it even works. The hard part of coding isn't writing the code itself. It's the design of the code that takes skill, and if you leave that part completely up to AI, you are taking your life in your hands. Bad idea.
- firefoxd 2y agoNot saying it's a good idea. In fact, I watched someone on twitter debugging code. When the application errored out, he regenerated the code, including the issue in the prompt. Something else failed, the prompt was updated, and code regenerated. Now that of course was for visible errors. When the person building the application doesn't know or care, the application will still be deployed.
- dirtyhippiefree 2y ago> When the person building the application doesn't know or care, the application will still be deployed. Resistance is futile. We will adapt.
- rzz3 2y agoLol, sigh. Author says the term was coined 84 days ago on February 6th 2025. Literally go to Google and search ‘“vibe coding” before:2025-02:01; I see posts from more than a year ago.
- simonw 2y agoCan you provide some links? I tried that search and couldn't see what you were seeing.
- seyebermancer 2y agoI don’t think it was the right date syntax for the before search operator. Below worked for me intext:"vibe coding" before:2025/02/01
- simonw 2y agoHere's that Google search: https://www.google.com/search?q=intext%3A%22vibe+coding%22+before%3A2025%2F02%2F01&ie=UTF-8&oe=UTF-8&hl=en-us&client=safari https://www.google.com/search?q=intext%3A%22vibe+coding%22+b... The first result I got was this one https://vibecoding.vercel.app/ https://vibecoding.vercel.app/ - which is shown as being from 2023... but that's fake. Read the page and it starts by saying: > On November 30, 2023, Andrej Karpathy coined the term "vibecoding" And then includes a screenshot of Andrej's tweet - this one: https://twitter.com/karpathy/status/1886192184808149383 https://twitter.com/karpathy/status/1886192184808149383 But that tweet is dated 2nd February 2025. The Vercel-hosted site is lying about the date. I don't think Google's "before" filter actually works. It looks to me like blog spammers have figured this out and now habitually back-date their posts to a date well before they were written.
- seyebermancer 2y agoDang- Good looking out, I think you’re right. My fault for not checking the links first! Well played spammers… that totally throws a wrench in my Google dorking scraping strategy ;( lol
- davidhunter 2y agoAnyone else think “vibe coding” is a poor choice of name. Too ambiguous. Friend of mine suggested “apping”. I ‘apped’ this in 2 hours vs I ‘vibe coded’ this in 2 hours.
- khedoros1 2y agoAnd "apping" isn't even more ambiguous?
- seyebermancer 2y ago“Orchestrated” or “spliced” AOCS - ai orchestrated code splicing. Pronounced awks I AOCSed that shit together in 2 hours. Doubles as a play on the awk bash command for text manipulation.
- scblock 2y agoThat's because it doesn't mean a god damned thing.
- zelon88 2y agoAre we supposed to believe that a book which teaches people how to be "programmers" without writing any code was actually written by a human author?
- theflyestpilot 2y agoa short story to address explaining what vibe coding is for non developers: Picture this- are tools like Devin "vibe coding"? if we break down the mechanics of what interfaces it's looping through: 1)Chat 2)IDE 3)CLI 4)Dev console/Browser and it's effective copy and pasting what it sees while trying to complete an objective it doesn't fully comprehend. Blissfully ignoring the ramifications of desired combinations as long as decent version control practices are being applied. iterating / adjusting prompts subtlety along the way to debug when getting stuck in a thought loop. changing your prompt from "fix it" to something with more "pizazz" as the key to breaking this cycle. how is it any different than when I do all this manually? Slog through this game of 4 square long enough and you can pretty much vibe anything together.
- puff_pastry 2y ago"Author fails to understand that there can be multiple definitions for a phrase"
- readthenotes1 2y agoHate the uninformed changing word meanings? Think how the devops feel...
- everybodyknows 2y ago> I fear it may be too late for these authors and publishers to fix their embarrassing mistakes: they’ve already designed the cover art! To the publishers it's not a mistake, it's just clever marketing. Consider which of these two jumps off that glossy cover and into the distracted eye of a Technical Program Manager most readily: AI-Assisted Programming, or Vibe Coding Now consider whether either of those parties feels an obligation to help maintain coherence of the software community's technical discourse.
- OutOfHere 2y agoI don't see how such an ambiguous term as vibe coding can stick - it can't. I will go with "agentic AI coding". --- The part we are seriously missing is a text specification of the software. For any AI coded software, the modular text spec must be neatly written and organized in the ./docs/spec/ folder. It is the foundation for any new model to regenerate the entire software.
- simonw 2y agoI still have genuinely no idea what people mean when they use the term "agentic" or "agentic" - every time I ask someone to spell it out for me I inevitably get a definition that's very subtly different from the definitions I've heard before. https://simonwillison.net/2024/Dec/31/llms-in-2024/#-agents-still-haven-t-really-happened-yet https://simonwillison.net/2024/Dec/31/llms-in-2024/#-agents-...
- OutOfHere 2y agoI meant "multi-tool-using AI that is trained to cleverly leverage a custom set of tools to accomplish a goal". It could be trained to effectively use an MCP server and all the tools offered by the server. It would use them without getting lost in a loop.
- laacz 1y agoThis is the same that happened with blogging. Now it's not "to write a blog post/entry about that". Now it's "to write a blog about that".