Catching the Vibe of Vibe Coding

In early 2023, Matt Welsh wrote an opinion piece in Communications of the ACM that described programmers as dinosaurs waiting for the meteor to hit.

Welsh, now director of AI Systems at Palantir Technologies, expressed in his article, “The End of Programming,” that he believes the traditional idea of writing a program is headed for extinction, and most software will be written by artificial intelligence (AI) systems that are trained, rather than programmed. 

In the future, Welsh wrote, we will be teaching and educating intelligent machines, rather than directly programming them. He outlined a significant transformation in computation, shifting from traditional von Neumann architectures to adaptive AI large language models (LLMs). The focus will move from manually coding specifics to higher-level abstractions in AI systems, reflecting a paradigm shift in how computation is conceptualized and implemented.

“We will use language models to instruct computers in the same manner as we interact with other humans,” Welsh said.

As an example, Welsh explained, if you ask someone to pick up some grapefruit at the grocery store, you generally do not provide step-by-step instructions to accomplishing the task; you just ask them to pick up some grapefruit at the store for you, and let a myriad of possibilities unfold for the task to be accomplished.

With large language models, Welsh feels artificial intelligence will make coding decisions on its own, just as when sending someone to the store for grapefruit. “I’m instructing an intelligence about my desired goals and intents and allowing that intelligence to use its own decision-making abilities in novel ways; that is where we’re going,” Welsh explained.

Adding the Vibe to Coding

AI coding tools that will help to enable this shift have been around for several years. One of the best known, GitHub Copilot, was developed by GitHub and OpenAI and launched in 2021. Such coding assistants mostly started as auto-complete tools, suggesting code based on what the user started typing. They were designed to increase efficiency by finishing lines of code, helping to test and debug, recommending improvements, and automating the documentation process. They have grown more sophisticated over time, offering developers out-of-the-box templates that provide features like authentication, database hooks, and AI integration frameworks.

Recently, a new breed of AI-assisted coding programs such as Cursor, Replit, and windsurf, harness the generative power of LLMs, but also are infused with the ability to program with natural language prompts to create actionable code, and even programs. Developers can now build software by simply asking AI to do it for them.

Shortly after ChatGPT’s launch in 2022, Andrej Karpathy, a co-founder of OpenAI and former AI director at Tesla, caused a stir when he posted that “English is the hot new programming language.”

The use of natural language to code with LLMs had arrived.

‘A new kind of coding’

A couple of years later, in February 2025, Karpathy coined the term “vibe coding” in a post on X, capturing a moment and giving the trend of combining AI coding assistants with language models a name.

“There’s a new kind of coding I call ‘vibe coding,’ where you fully give in to the vibes, embrace exponentials, and forget that the code even exists,” Karpathy wrote, giving a name to the transition in programming from manual coding to AI code generation.

This approach changes software development by eliminating the need for programmers to write every line of code manually. Traditionally, programmers had to write with exact syntax, close every bracket, and be fluent in programming languages. In vibe coding, design descriptions are provided in plain English, and then the AI creates functional code accordingly. It’s a completely different mindset than traditional coding.

In his X post, Karpathy described some of the vibe coding process as “not really coding—I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.”

The “mostly works” part involves a lot of workarounds. When he gets an error message, he just copies and pastes it in with no comment, and that usually fixes the error. When the LLMs can’t fix the error, Karpathy just works around it or asks for random changes until it goes away.

One of vibe coding’s more salient features is the ability for a user to literally talk to the AI and describe what’s wanted and allow it to interpret the rest, as Karpathy is doing. AI voice-to-text programs like superwhisper and Serenade lets users “write” code using natural speech, which can result in a highly improvisational coding experience. The conversational approach is an iterative process, with a lot of call and response between the developer and the AI.

Karpathy said vibe coding is possible because LLMs are getting so good that he “barely has to touch the keyboard” to code. However, when talking about the actual code LLMs have generated, Karpathy said it “grows beyond my usual comprehension, I’d have to really read through it for a while.”

Welsh emphasizes the lack of understanding surrounding large AI models, which can exhibit behaviors not explicitly programmed.

“If I gave an LLM an article and instruct it to summarize the article, no one could write down the program for summarizing an article in natural language,” Welsh said, adding that even a roomful of Turing Award laureates could not come up with an algorithm, program, or set of instructions for summarizing an article. “But we do it every day with LLMs,” he said.

Inflection Points in Programming

Tim O’Reilly, founder and CEO of O’Reilly Media, wrote about the end of programming in a recent blog post. O’Reilly considered the evolution of programming, highlighting significant shifts in technology, accessibility over time, and the present pivot point.

Initially, programming involved physical circuit connections and binary code, evolving to assembly language and then to higher-level languages like FORTRAN and Java, which abstracted the complexity of direct machine instructions. Languages like BASIC made programming accessible to a wider audience, such as scientists and engineers, and moved away from the exclusive domain of professional programmers.

O’Reilly explained how the development of consumer operating systems like Windows simplified programming by encapsulating low-level tasks, allowing programmers to focus on higher-level applications without needing detailed hardware knowledge. Later, the emergence of the Web, cloud computing, and APIs led to an increase in programming complexity and demand, with a shift towards managing automated services rather than static software, resulting in a growing number of programmers focusing on application development.

In each of these waves, O’Reilly pointed out, old skills became obsolete and new ones became the key to success. Innovations were not the end of programming, because there were soon more programmers than ever as a result of these new developments.

The injection of AI and LLMs into coding is not the end of programming, but the beginning of programming’s latest reinvention, O’Reilly wrote, adding it is just the end of programming as it is known today.

“This is a time, more than ever, where you need a broad sense of how programming works, what’s possible, and what you are trying to accomplish,” O’Reilly said. While AI can assist in programming, he added, a foundational understanding of programming concepts is still required to effectively utilize these tools.

O’Reilly also said the combination of AI coding tools and natural language prompts will not only democratize coding by making programming and software development accessible to non-programmers, but it will enable an enhanced level of creativity for developers who embrace it.

“The more you know about a field, the more these tools will empower you. Software developers working with these tools will be able to imagine ideas because of their expertise, which some random vibe coder will not,” O’Reilly said.

Nick Baumann, a product manager at AI autonomous coding-agent Cline, also has written about the evolution of programming, and specifically calls out programmers’ resistance to change.

Like O’Reilly, Baumann outlined the evolution of programming languages, beginning with machine code and assembly language, which faced initial resistance from programmers due to concerns about efficiency and understanding. He underscored the introduction of FORTRAN in 1957 as the first high-level programming language, which initially met fierce resistance from programmers; that resistance was eventually overcome as FORTRAN proved to be far superior to assembly language. Baumann’s post then discussed the development of the C programming language in 1973, which enabled the rewriting of Unix, despite skepticism about its performance and maintainability. Ultimately, he warned against dismissing new approaches like vibe coding as past generations did with earlier innovations.

Baumann described vibe coding as a fundamental shift in how we express intent to computers. He said that instead of directing machines what to do through precise instructions, we’re moving toward describing what we want in natural language. AI won’t eliminate traditional coding, he said, but will change where we spend our cognitive effort.

“Vibe coding empowers two types of users in different ways,” Baumann noted. “For those who don’t know how to code, the ability to use human language to create software can take them from zero to one,” Baumann said. “For existing software engineers, proficiency in vibe coding can scale their existing abilities from 1 to 10.”

Baumann said vibe coding will empower software engineers more than it levels the playing field for non-technical coders, but this relies on software engineers embracing AI coding to realize these gains.

One huge impact of the use of AI on programming will be the automation of workloads. A recent academic paper evaluated the impact of generative AI on software developer productivity; the findings indicated that inexorable changes are on the horizon.

In controlled trials that included about 5,000 software developers at Microsoft, Accenture, and an anonymous Fortune 100 company, a random subset of developers was provided access to an AI coding assistant (GitHub Copilot) that suggested intelligent code completions. The study found developers using AI tools experienced an increase in completed tasks of over 25%. The productivity-enhancing effects of Copilot were stronger for less-experienced developers, who exhibited higher adoption rates of Copilot and greater productivity gains. Developers with less experience increased their output by 27% to 39%, while more senior developers made much smaller gains of 8% to 13%.

Examples of AI-assisted coding usage and productivity gains are popping up in the real world, as numerous companies have announced enhanced coding efficiencies due to AI. For instance, in late 2024 Alphabet reported about a quarter of Google’s new code is generated by AI. In early 2025, Salesforce’s CEO reported a “digital labor revolution” as AI boosted productivity 30%, so the company doesn’t plan to hire any engineers this year; and Mark Zuckerberg mentioned Meta is developing an AI software engineer with midlevel skills that will soon join the company’s workforce.

O’Reilly wrote that artificial intelligence will not replace programmers, but it will transform their roles. It is not the junior and mid-level programmers who might be replaced, but those who resist new programming tools and paradigms. Those who acquire or develop new skills will be in high demand. However, O’Reilly reinforced the idea that the engineering expertise of senior developers will continue to be necessary to shape and constrain AI’s output.

A Step towards the Future

Welsh said that people who think of vibe coding as simply translating English to computer code are missing the point.

“People are using language models to effectively navigate computational domain problems,” he said. However, once machines are intelligent entities in their own right, the ways in which they are instructed, guided, or asked for assistance will not look at all like programming.

“You are interacting with an intelligence that does not need to be programmed, and vibe coding is a step in that direction,” said Welsh.

John Delaney is a freelance technology writer based in Hurley, NY, USA.