But we definitely need a word that makes a distinction between a LLM autonomously generating software, and having a human ultimately curating all the code (even if they're using a LLM to generate it.)
If not vibe coding, what should we call that?
But we definitely need a word that makes a distinction between a LLM autonomously generating software, and having a human ultimately curating all the code (even if they're using a LLM to generate it.)
If not vibe coding, what should we call that?
Why do we need a term anyway? Neologisms are nice for writing articles but I feel like we get lost in the weeds unnecessarily trying to categorize things. Its like trying to come up with genre names for electronic music. The more terms we create, the less useful they become.
I always thought of it as a temporary term anyway while we reconcile this technology with the status quo. In a few years I'll bet it will go back to be just "programming" or "development".
Or where your customers/bosses vibe coding when they told you their requirements?
For the same reason I think it’s useful to distinguish between purely AI-generated imagery vs. using AI tooling in some specific and restricted way. e.g. if someone uses an AI de-noising program on a RAW photograph, the implications of that are entirely different from generating the entire image.
Until recently, it was not possible to generate sophisticated programs from scratch across a wide variety of problems domains without being involved in writing the code. This type of “development” is entirely unlike a more limited “AI-assisted” workflow and the implications of each are quite different.
As a viewer of artwork, how the art was produced entirely changes how I value it.
As a user of software - especially in certain categories - how the software is produced also changes how I value it, whether or not I trust it with my data, would be willing to install it in my computers, etc.
To your point, there’s a spectrum of AI involvement. But I think it’s necessary and useful to have language that helps identify software that sits on the extremes of that spectrum. Classifying things across the range is more difficult.
I know a crash-course-day's worth of programming language(python and C), but very strong understanding of the principles of programming. So LLMs are a godsend because I can basically write code, function by function if need be, in English.
"Create this variable, do these mathematical transformations on it with retrieved value from API, display the output of it here, also compare it to the output of everything in the test set, store differences greater than 30% to their own set, store all values in an SQLite database, create a simple GUI with a field showing each output, make a button that outputs the results to a .pdf, give it a title block with labeled results listed, etc. etc."
Does coding become vibecoding when you do it in English? hah
In this case, most people have to be told what "vibe coding" is. I think hardly anyone guesses what it is by just hearing the name.
So I'm not at all surprised that people are using it to mean other things already.
Otherwise all my customers/bosses did vibe coding way before LLMs.
Usually spam
So why do we need a term? What difference in action will hearing a different term drive?
On that front, I like the fact that the term "vibe coding" exists because anyone who uses that term unironically has just told me that they care more about the process than the result. Now that is information that changes my actions because it changes how seriously I take them.