Martin Fowler
Follow
Bliki: Vibe Coding
Vibe coding involves building software by prompting an LLM without ever examining the generated code. This method, introduced by Andrej Karpathy, is accessible to non-programmers due to its reliance on natural language instructions. While useful for quick projects, vibe coding presents serious drawbacks concerning code quality and security. The core principle of vibe coding is to "forget that the code even exists," leading to both its ease of use and its limitations. This differs from "Agentic Programming," which focuses on code review and understanding. Vibe-coded software can be created quickly, but it often lacks maintainability and can introduce significant security vulnerabilities. Security risks are particularly concerning, as LLMs are susceptible to attacks and may expose sensitive information. Poor code quality makes it challenging to modify the software in the future, even with advanced LLMs. LLMs can generate errors and incorrect behavior, and these errors may go unnoticed. Vibe-coded software is best suited for throwaway projects with limited scope and user base. Complex or widely-used applications demand more attention to code quality and security.