In a way, we've always been vibe coding (but also not at all)
March 26, 2025 by Bram Zijlstra
In 2015, I decided to learn programming. I was interested in Artificial Intelligence and Data Science, so I chose Python. Back then, Python was controversial. It’s easy, fast, and beginner-friendly, but older developers often disagreed. Java developers would cringe at Python’s lack of static typing and heavy use of dependencies. Sure, you can write Python code much faster. But at what cost?
The lack of statically typing risks bugs and your code will run much slower. And why do you import so many dependencies? You have no idea what kind of code you are injecting!
But when Java became popular, *they* were the cool and careless crowd. With Java, you didn't
need to program with pointers like in C. This made programming much easier, to the point where C fans would argue that Java is not real programming. You can write faster code,
but [Java made programming too easy](https://www.joelonsoftware.com/2005/12/29/the-perils-of-javaschools-2/). You have no idea what is really going on in your code.

This trend continues for each generation you go back in time. Before C you had programmers using assembly, and even before that people used literal 0 and 1s in machine code.
Each innovation in technology did exactly the same thing: we abstract away yesterday's work, so we can focus on tomorrow's problems.
This new ability comes at the cost of full control of the underlying abstraction. Whether this cost
is in your budget, depends on what you want to do.
You always leave out some control and flexibility, because
> „If you wish to make an apple pie from scratch, you must first invent the universe.“ - Carl Sagan
This works as a metaphor for software as well: you can order pasta, cook it yourself, or even grow your ingredients. The level of abstraction you choose depends on how much control and speed you want.
In software, convenience is never convenient enough. Why stop at delivery? Why not put pre-digested food delivered straight to your gut?
Ten years into my programming career. It's clear that **vibe coding** is one of the hottest trends in software right now, and not just because of all the overheating datacenters. And it got me thinking: is vibe coding continuing trend or is it fundamentally different?
On the surface I would say vibe coding is a perfect progression of previous technology. Vibe coding makes you incredibly fast, at the cost of total confusion. I build *some* things 10 times faster than I would normally do, but understand none of it.
I could read it, but why bother? I didn't know *why* it was written, and can't ask for a non-hallucinated response. The odds that the code would be refactored a few minutes later were too high for me to make reading it worthwhile.
Even though attention was all that was needed, I never felt less attentive.
But on the other hand I think vibe coding is a fundamental shift in technology. Previous technologies solved problems once, for the rest of humanity to benefit. This is called the [smart cow problem](https://en.wikipedia.org/wiki/Smart_cow_problem), which says that
> „It only takes one smart cow to open the latch of the gate, and then all the other cows follow.“
I don’t know operating systems or networking, yet benefit from them daily and trust them almost blindly. I don't have much say in the design of them. But with vibe coding, I have all the flexibility in the world and none of the trust. You're not building on a strong foundation, everything is constantly fluid. It's what makes it very interesting. I feel like I have to use a completely different part of my brain. So far, the vibe highs are high and the vibe lows are low. I am amazed by how fast you can build something, but debugging has become even more frustrating. Is it because vibe coding makes you less patient? Probably. But I think it's also because we are trading agents for agency.
I am very curious to see where vibe coding will end, but it is safe to say it is one of the most interesting advancements in technology lately. For better and worse. Can it establish the same trust as previous breakthroughs?
Now excuse me while I leave you smart cows and universe inventors, so I can eat some questionable apple pies.
Bluesky Comments
No comments yet. Be the first to join the conversation!
Bluesky Comments
No comments yet. Be the first to join the conversation!