Enthusiast: Have you come across the phrase ‘vibe coding’? The term was coined in February 2025 and gained immense popularity. It describes creating software programs without… programming. We can instruct GenAI models to write code and get a working program as output. We check the results and add further instructions – what should be added, changed or fixed. This way, we iteratively approach the final version of our application.
Manager: Indeed, I found some very impressive YouTube videos demonstrating this approach. Apps that would typically take weeks to build could be generated in mere hours – or even minutes…
I wonder if we are witnessing the advent of the next generation of programming languages. We started with machine code, where we had to literally concatenate zeros and ones into computer programs. Today, we spend most of our time writing code in so-called third-generation languages (Java, C#, or JavaScript) or 4GLs such as SQL and ABAP. In just a few lines of code, we describe what will later be translated into hundreds of processor instructions.
We also have the promise of fifth-generation languages (e.g. Prolog), which are based on problem description and constraints, without going into implementation details. But I don’t see many practical business implementations of 5GLs. Possibly, we are reaching that ideal now – just by different means?
Enthusiast: I think it is an apt analogy. Andrej Karpathy (who came up with the phrase ‘vibe coding’) stated that the most popular programming language in the future is going to be… English.
Sceptic: I agree that AI can be effective in supporting software developers’ work, and the results of LLMs (Large Language Models) are truly impressive. At the same time, I am afraid we are drawing overly ambitious conclusions from recent advances.
M: These aren’t just mine conclusions. In 2024, Nvidia CEO Jensen Huang advised against learning programming languages, as this skill is going to be obsolete soon. And Mark Zuckerberg, in an interview at the start of 2025, stated that AI is going to replace not only junior but also mid-level software engineers – by the end of the year.
S: The YouTube videos we mentioned – e.g., demos from OpenAI or Google conferences – present a narrow set of scenarios that are usually successful: new implementations of Snake or Tetris games, to-do lists, or other simple forms that store records in a database. Indeed, in those cases, with a good prompt, an LLM can generate a complete working program.
But usually, these are not production-ready applications for serious use. A competent programmer should always review their code – for security and logic. Otherwise, we risk trouble. Some functions may turn out to be just a façade: a pretty UI with no real processing logic. They may also collect user data in a way that does not ensure security.
Secondly, as soon as your application becomes more complex – adding features and components – the effectiveness of this approach diminishes. More and more often, the LLM ‘hallucinates’ – attempting to call non-existent services or libraries. Overall solution architecture also deteriorates unless supervised by a competent developer. Vibe coding may be effective – but only if the operator knows programming, good development practices, and intervenes regularly to steer progress.
E: So you admit, GenAI facilitates and accelerates software development?
S: Certainly. But the hyper-optimistic narrative about LLMs in this field is, in my opinion, greatly exaggerated. We promise the future of ‘programming without programmers,’ which is unrealistic. It’s just like promising that a taxi will take me to a selected address – so I don’t need to know the city or even have a driving license. But midway, the driver starts getting lost and asking me for directions – and close to the destination, he decides to hand over the steering wheel to me.