Recently, Andrej Karpathy introduced a new term, vibe coding, and it has been gaining traction in the AI community. But is it really coding?
What is Vibe coding?
Vibe coding is essentially the practice of asking a large language model (LLM) to generate some code, and then simply following the vibe—copying what you’re given and pasting it into your project. Sounds easy, right?
Real coding or just an illusion?
But does this count as real coding, or is it just an illusion of programming?
If coding is defined as the process of writing functional software, then vibe coding qualifies—after all, it results in working code. However, as a real developer, I would think true coding involves problem-solving, debugging, and optimizing solutions, which vibe coding does not inherently encourage. Simply pasting AI-generated code without understanding its logic may give the illusion of productivity while lacking the depth of real software development.
A true developer should be able to change, debug, or adapt the AI-generated code to new scenarios; otherwise, they are not truly coding. They are merely assembling fragments of software, not creating a better solution.
This over-reliance on AI-generated code can lead to several problems. Debugging can become a nightmare when a developer does not fully understand the code they are working with. Security risks also arise when AI-generated solutions contain vulnerabilities that a developer might not recognize. Sometimes, AI tools can produce inefficient or poorly optimized code, which could impact performance and maintainability in the long run.
Vibe coding is not real coding?
At its core, coding is more than just writing syntax—it’s about understanding problems, designing solutions, and optimizing performance. While using code from LLM can be helpful for beginners, true programming still requires critical thinking, debugging skills, and deeper knowledge of software development principles.
Historically, the definition of coding has evolved, from low-level assembly languages to high-level programming and now to AI-assisted development. Just as modern developers rely on frameworks, libraries, and auto-complete, LLMs may become another layer of abstraction. However, the key difference is whether developers use AI as a tool or as a crutch.
So, is vibe coding really coding? The answer is: it depends on how you define coding. If coding is just writing functional code, then yes, it qualifies. But if coding means understanding and solving problems with software, then vibe coding alone falls short.