Despite widespread confusion, Andrej Karpathy coined "vibe coding" as a kind of AI-assisted coding where you "forget that the code even exists." Legacy code We already have a phrase for code that nobody understands: legacy code. Legacy code is universally despised, and for good reason. But why? You have the code, right? Can't you figure it out from there? Wrong. Code that nobody understands is tech debt. It takes a lot of time to understand unfamiliar code enough to debug it, let alone introduce new features without also introducing bugs. Programming is fundamentally theory building, not producing lines of code. We know this. This is why we make fun of business people who try to measure developer productivity in lines of code. When you vibe code, you are incurring tech debt as fast as the LLM can spit it out. Which is why vibe coding is perfect for prototypes and throwaway projects: It's only legacy code if you have to maintain it! Prototypes & throwaway code I've happily vibe coded apps to: I don't needed to continue developing those apps, so it hasn't been a problem that I don't understand their code. These apps are also very small, which means that I haven't incurred that much debt if I need to jump in and read the code at some point. I was able to vibe code these apps way faster than I could've built them, and it was a blast. Vibe coding is a spectrum Vibe coding is on a spectrum of how much you understand the code. The more you understand, the less you are vibing. Simply by being an engineer and asking for a web app with a persistent database, you are already vibing less than than a non-programmer who asks for an "app" without understanding the distinction between a web app and a native app, or how persistent data storage works. Giving a credit card to a child The worst possible situation is to have a non-programmer vibe code a large project that they intend to maintain. This would be the equivalent of giving a credit card to a child without first explaining th...
First seen: 2025-07-30 21:56
Last seen: 2025-07-31 12:59