Hacker News new | ask | show | jobs
What is vibe coding? How creators are building software with no coding knowledge (alitu.com)
82 points by Bocajmai 482 days ago
38 comments

A quick scan of various reddit forums reveals how "vibe coders" experience exponential levels of difficulty past the simple landing page. Things like setting up basic auth for example is non-trivial (outside of PasS) and there are many other aspects that require at least some understanding of what is going on.

My only concern of this type of programming is when it starts involving end users, specifically around privacy and security. It is not that AI written software is less or more secure. It is just about the whole live-cycle of software development and maintenance. Vibe-coders might not visit this forum for example and might not be aware of a security exploit that must be fixed asap... or even be aware that they need to perform basic level of software support to avoid costly intervention in the future. It is not going to happen - not today.

I am thinking that this type of coding is only going to increase the demand for professional services. The closest analogy I can provide is that almost anyone can perform basic level of DYI and many do - but when it comes to more serious work you rely on contractors to get the job done.

> Vibe-coders might not visit this forum for example and might not be aware of a security exploit that must be fixed asap.

This is true of "regular" coders too, i've worked with/for extremely experienced programmers who, while knowing the security risks, implemented (or even worse, asked me to implement) flakey authentication systems, exposed databases, etc. I don't think this is an AI issue, it's a "care about your users" issue.

> is only going to increase the demand for professional services

Then shouldn't we be happy that more people are embracing vibe coding?

> Then shouldn't we be happy that more people are embracing vibe coding?

I don’t know about you, but I’m not looking forward to reverse engineering and maintaining someone else’s vibe coded mess.

It’s like when someone makes a quick and dirty proof of concept to impress management and then hands it off to another team to make it usable in production. They did 20% of the work but took 80% of the credit. Now you have to to the remaining 80% of the work to make it into what it needs to be, but management is only going to be disappointed because you’re moving so slowly relative to the proof of concept creator.

I am! I've always enjoyed tutoring junior coders. I'm not that advanced either, and I tend to focus more on the conceptual than practical side of things, so it gives me an excellent lever to improve myself as well.
There's a big difference between someone knowing about security and taking a calculated risk, and someone who understands neither the risks nor the semantics of code handed to them. There are also legal issues. Even in the most optimistic cases, I think we're 50 years away from this making sense for most software.
Accenture, IBM and other big companies have employed vibe coders for years.

Java is a language designed to make it possible. Java style classes make it possible for someone to design the overall structure and pass it to someone who just vomits something inside it.

They have teams where maybe 1 in 3 consultants have programming knowledge and the rest just vibe something into the Java API that is given to them. Back and forth until it passes and then to the customers. LLMs make this just faster and maybe even better.

The code will be bloated, slow, and hard to maintain.

> Accenture, IBM and other big companies have employed vibe coders for years.

Having worked in a few codebases/projects by these companies (and some other "big name" consultancy companies in this same "space"), I cannot imagine copypasta from Claude/Copilot would be anything other than a massive improvement.

What companies have paid these firms to do is nothing short of appalling, and I'm not even referring to the notorious Hertz lawsuit, just the average run of the mill junk.

Wow, what a ridiculous load of tripe.

Java classes are no more enabling of shit code than any other language. Idiots can and do “vomit” code into pre-canned structures built for them in any language.

Java was, as Gosling says in the first Java white paper, designed for average programmers.

Java classes and types are strict and "save" enough that it make it possible to put straight jacked to coder, but loose enough that they can make it compile. You can't do that with C++, Python because they are too loose and you can't do it with Rust or strict functional programming language because vibe programmer can't make the code compile.

It's perfect when you have software architect who does the intelligent work and code monkeys who fill the blanks.

You could be describing a lot of languages.
“non-programmers can now build functional software by working with AI rather than writing code directly.”

I’m not sure about that, it may be true, but you can also build a ecom store without coding knowledge using wordpress and shopify but you still face a lot of limitations.

We're not talking about building an ecom store, though, are we?

We're talking about building useful tools. Small things, that work in a way that makes sense to the individual.

Something that could be churned out in a day or two by a competent dev, but is completely out of reach for Joe public.

That's where we're at.

> That's where we're at.

Tools to build web apps and web pages without coding knowledge have been around for over 2 decades. Microsoft Frontpage allowed uses to build a website using a WYSIWYG editor.

Frontpage and other page builders had a much much lower bar for capabilities though..

Even Wix and Squarespace are "building block" tools when you start to layer functionality on top of the designs.. What you can do is limited by what the developers of those tools put in them.

AI lets people build much more bespoke things, and build things that others haven't necessarily thought of (or haven't built tools to build)..

And that can definitely be a double-edged sword of course, because a non-developer might not know when they're wading into dangerous waters...

Non-programmers always could build functional software by hiring programmers, you know. And we all know how well that usually goes.
That's very true. But programmers are extremely expensive. I don't think these tools or vibe coding replace expensive programmers, but they do make it possible to noodle where once it would have taken a potentially very risky commitment for a small business / solopreneur.
We do? I thought we were clueless how long things will take.
One thing that AI made possible for me (amongst many other benefits) is to frequently build auxiliary development tooling that I would otherwise not bother with, with almost no required time investment.

Tools and visualizations for debugging that I might need only for a week, local dev automations, linters, etc.

As long as I can eye-ball correctness, it's a huge time-saver and help.

That's a really good idea. I have a few tool ideas for the team I work with but I never felt like I had enough time between tasks to implement them
Some commenters are likening this to no-code/low-code. However, there is an important difference: When you prompt an LLM to generate some code, then for any further modification, the generated code becomes part of the software’s specification instead of the original prompt. In other words, as soon as you have some history of “coding” the software, you can’t experiment with modifying previous prompts to see how it changes the software. (You can in theory and replay the whole history, but then subsequent existing prompts won’t make sense anymore in the context of the changes made to preceding prompts.)

This is unlike no-code/low-code, where the “coder” still has full control and visibility over the specification and can tinker with it. With LLM-generated code, an increasing part of the “specification” is constituted by the code that has been generated so far, into which the “coder” has no insight. The “coder” can only try to run it to see how it behaves, but cannot reason about it like a no-code/low-code coder can about their specification.

It may not be auditable in the same was a block-based workflow, but there's nothing stopping you from saying "hey, this code doesn't do what I want, please improve it" to the LLM.

The whole point about the article is that reasoning about the code isn't always required any more, reasoning about the output is enough.

My point is that it is not the same, in a similar sense in which testing (as a software engineering discipline) is not a substitute for proving the correctness of code. Another way in which it is different is that the “coder” cannot test hypotheses of the kind “when I prompt x, then y will happen” other than as a one-off, because that conversion is lossy, whereas in no-code/low-code “when I specify x, then y will happen” is deterministic. In other words, with no-code/low-code, the “coder” can with time learn to predict precisely and reliably what their change will do, which is not really the case with LLM-based coding, where you have to go by the “vibe”.
My point is that proving the correctness of code is not always relevant. When it is, don't use AI coding assistance, and hire smart people to do the work.

When it's not, fuck it, go ahead and produce that flight sim without researching quaternions. MOST code does not need to be provably correct, or we'd all use Ada.

I see many gatekeepers in the comments. I've made hundreds of small apps and scrips for me with with vibe coding, i dont want them maintainable, I dont want them safety critical, I dont want to launch a rocket with them.

I just want a free script or addon that will do its job instead of paying someone on upwork to do it for me. simple as.

Additionally it's only up from here. The agents will be able to do maintainable code and safety critical code at some point in the future. It's not all gonna happen overnight.

I don’t see anyone “gatekeeping” but I do see warnings. I don’t know what you’re good at, to give a good example. But if you have a hobby or job, imagine the new guy coming in, knowing absolutely nothing and doing shit they technically can do, but shouldn’t be done. That’s what this is. Just like a new cashier can technically just not give correct change, everyone knows this will end badly; eventually, even though everything looks fine from the outside.

That’s what AI code tends to do. It looks fine to the outsiders, it might even function correctly MOST of the time. Programmers are trained, mostly through experience but also classically, to think through every exceptional case and figure out how to handle it (or return an error so a human can handle it).

That isn’t to say this is ALWAYS the case with AI code, but rather it TENDS to be the case. YMMV, which is where these warnings are coming from.

> Programmers are trained, mostly through experience but also classically, to think through every exceptional case and figure out how to handle it (or return an error so a human can handle it).

Unfortunately, vibe coding is seen as acceptable to many specifically because what you say here hasn't been the norm for like 15 years now.

The rise of bootcamps, dependency-driven-development, and "move fast and break things" culture convinced a whole generation of programmers that all that matters is the happy path, and even then, only within the context of today's specific task. The ocean of garbage they produced during that time is both one of the reasons why LLM's can produce code in the first place and one of the reasons why that code is so consistently and irrecoverably poor by traditional standards. Aspiring vibe coders see their peers earning absurd six-figure salaries to produce the exact same sort of unstable, short-sighted noise that they see their LLM literally reproduce for pennies now.

In many ways, we should be gatekeeping by asserting a higher standard of foresight and quality for redistributed code, but we completely lost that battle many, many years ago already.

> It looks fine to the outsiders, it might even function correctly MOST of the time.

Most code (even written by good programmers) rarely functions correctly most of the time. Most code is broken. This is not the problem with AI. Unless I am using the tools wrong, LLMs can generate fully functioning scripts (and some of them are good) but they break after the 50k token context and start doing insane things that not even juniors will do (like randomly removing code).

If you want to see a shit-show, go to Bolt Discord channel. Some users are able to get a very simple and rough kinda single script app running. Everything else breaks once they start making simple amendments. This is not fixed by Claude 3.7 or O1 Pro or whatever. This is a fundamental issue in all of the LLM and a local maxima of the current tech.

Not that the current tech is not amazing. It is and there is a lot of value to be extracted from it. But everyone and his investor think they are about to reach nirvana and want to replace everything with "AI" where "AI" is a 100k context LLM.

I feel comfortable calling a lot of the comments gatekeeping "adjacent".

When a post is a "warning" about user's credit cards etc. and it was in none of the "vibe coding" examples, that feels like someone deflecting (but with a gate keeping mindset).

As others have said here, I too have knocked out little apps and sites vibin'. At first (1) it was to see if what everyone was saying about LLMs was true. Then (2) I wanted to see if LLMs could help in languages I was not familiar with. Then, even for languages I knew well enough, I (3) wanted to see an LLM's code to get the modern method of modularization for the language (JavaScript is one that has gone through phases). Finally I came to trust the machine and (4) have vibed code just for my own small projects.

Because people who admit they don't understand coding should not be coding with important data. And it's very easy for you app to suddenly have important data. Do you have auth? You have PII.

Gatekeeping is restricting access to the trade with arbitrary precedence, like "real coders use emacs." It's not expecting safety. If someone wants to build a bridge out of cotton the city won't let them. That isn't what most people consider gatekeeping.

What's stopping said people from grafting together a few Stack Overflow answers today?
Grafting together stack overflow answers requires knowledge of how your chosen programming language and execution environment work. There is at least some floor of knowledge required to synthesize those answers into a working solution.

Vibe coders as described in the OP can just copy/paste exactly what the LLM spits out with much less knowledge. It’s not the same thing at all IMO.

What you said applies to programmers who are actually good.

Consider that the world is full of programmers who are objectively shit (I live in India, and have personal experience). The only difference is that they’ll be copy pasting from ChatGPT instead of StackOverflow, and honestly I’d rather have ChatGPT.

So this is about the ego of professionals? As the other person explained, there are many use cases for disposable software, so it's a good thing that there's a new tech enabling non-programmer to create these on their own.
I never said there wasn’t a use case for disposable software. I only said I didn’t see gatekeeping here. Nobody is saying “don’t do it”. They are saying “be careful”.
We should also consider experts doing things that they know they shouldn't.
> if you have a hobby or job, imagine the new guy coming in, knowing absolutely nothing and doing shit they technically can do, but shouldn’t be done

Isn't that the definition of gatekeeping? and even so, who cares? the new guy coming in creating/doing something in a way that "shouldn't be done" will eventually fail and notice the shortcomings of what they did. Then they will either drop their project or learn the way "it should be done" (like we all did, except now with AI).

I kinda feel like this attitude, like “free market capitalism”, allows more bad things to happen with the potential for some unseen/immeasurable force to “correct” the environment once the Bad Thing is recognized and rationally dealt with. But there are probably better ways to avoid Bad Things that require only a little additional forethought, planning, and deciding ahead of time what sorts of things we’d like to avoid (oh no, regulation!).
Do we care? Is the podcast script timer from the article a Bad Thing? Are people actually hiring vibe coders for critical infrastructure?

I write really bad Haskell code sometimes without any AI assistance. Am I doing a Bad Thing when I create my own tools?

What are you intending to regulate here?

> Are people actually hiring vibe coders for critical infrastructure?

It appears to be happening right now in the US federal government.

No. I never said you shouldn’t use it. I never even said it was a bad idea. But I did say to be careful. Find out if your cashier is giving the right change when you hire them, before you have the cops showing up to accuse your business of theft.
No gatekeeping. Anyone can write programs.

But to build something which could handle a customer’s credit card, password, or other PII and charge them for it, you better know what you’re doing.

It’s all fun and games until you’re the cause of someone’s identity or password getting stolen.

Anyone can use CAD software, but if you’re designing a public space, you better know something about safety.

To be fair, lots of "actual" programmers who don't know good from bad have been shipping insecure code to prod for decades.

AI is just another vector for this, not something entirely new.

When you have your amazing idea, instead of hiring an inexpensive low-skill developer (whose work you are also incapable of evaluating) to build and ship your idea in a low quality way, you're just paying AI to do it.

It's just putting they money into different (centralized) pockets.

No, people should not be knowingly half assing important things like PII just because "it's been done badly before." We make the good faith assumption that people who mess this up don't know better, not that they're willingly using a tool that will mess it up for them because they don't care.
I think you misunderstood my comment..

When a non-technical person hires an incompetent developer (that they likely don't know is incompetent at the time of hiring) to build something that turns out to be insecure - because the developer didn't know any better and the non-technical person doesn't have the skills to evaluate the output - no one was trying to do a bad thing, but they didn't know what they didn't know.

The non-technical person got something that did what they asked, without understanding all the underlying deficiencies.

It's the same with AI, I don't think non-technical people using AI are thinking "I don't care that this is building garbage code full of problems"..

Just like the first scenario, they don't know what they don't know, and they end up with something that does what they want, and that's a good outcome based on their limited knowledge.

To be clear, I don't think either of these scenarios is excusable or acceptable if you're working with PII or other security-sensitive things, I was just pointing out that this isn't new.

>Anyone can write programs.

Anyone can play the violin. Anyone can run a marathon. Anyone can …

People who spent their lifetime never quite able to sit down and write programs, for whatever reasons (time, focus, foundational knowledge, available mentors), have in the last year shipped working apps/scripts, by just saying in plain english what they wanted. That's exciting.

There’s some gate keeping, but many of us are also worried about the inevitable future where we have to take over someone else’s “vibe coding” mess of code.

The vibe coding style translates to trying a lot of different prompts and small adjustments until it looks like it works. In the past these people copied from StackOverflow and poked at lines until it compiled and appeared to work, but that only gets you so far. Now those same people can bang away at an LLM assistant all day long and produce volumes of code that appear to kind of work.

I’m in another forum dedicated to programming careers. Every day there’s a new thread from someone asking how to deal with all of their junior employees spamming code review with obvious LLM generated code that they don’t even understand.

A lot of the defenses of vibe coding rely on the assumption that it’s in the hands of someone knowledgeable who only wants to save a little time for something inconsequential. That’s fine. What’s worrying is that vibe coding is being used as a replacement for understanding code for many juniors and lazy seniors across the industry as long as they think they can get away with it.

> worried about the inevitable future where we have to take over someone else’s “vibe coding” mess of code.

worried? we're going to make a goddamned fortune

Doubtful. Usually when one person makes the proof of concept they do 20% of the work and collect 80% of the credit.

The people tasked with cleaning up the mess and making it usable in production do the remaining 80% of the work, but management is always disappointed that it’s going so slow relative to how quickly the proof of concept was created.

At one company it was widely known that the key to taking credit for technical work was to be the team presenting the GUI pieces to management. If you were working on something that couldn’t be shown to management with a “wow” factor, you were not valued. I see the same thing happening here, with vibe coders capturing the wow factor and the people who actually make it production stable being viewed as the slow and expendable ones.

People who made the initial thing in the absolute cheapest way possible expect the maintenance work to be similarly cheap. If it turns out it just can't be done on that budget, it'll often just not get done rather than pay what it would cost.
> ... many of us are also worried about the inevitable future where we have to take over someone else’s “vibe coding” mess of code.

Another potential alternative is that these things progress quickly and soon can code and review code at or above the level of most SWEs. I suspect that's driving a non-zero amount of anxiety in the comments.

I'm not an SWE, and frankly, they're above my level today. Saying "plz don't code if you can't understand it" applies to my code today without AI assistance. Are you suggesting I shouldn't release anything because others might need to read it? The way to prevent this within an organization is smart hiring practices, not restrictions on tool use.

>The agents will be able to do maintainable code and safety critical code at some point in the future. It's not all gonna happen overnight.

Don't hold your breath. If the AI was good enough to do all that, "maintainability" would look very different from what it does today. What does it mean to be maintainable when an AI can completely rewrite the software in every iteration? If AI ever gets good enough to do all this, for safety-critical applications no less, probably 95% of the white collar jobs that exist today will be gone. There may also be robots to do 90% of all other work too.

I think the issue is Hacker News users are so deep in the space that they're surrounded by AI noise at work every day and might even be forced to use it every day. So they've essentially accepted that it's a useful invention. There's this foundational, overwhelmingly positive assumption that goes unsaid, while 100% of their comment text is pure criticism and negativity. But in their brain, it comes across as maybe like 1% criticism and negativity and 99% positive lived experience. So they don't realize how bizarrely negative they're all sounding about a good thing. Of course, there are some people do really completely hate AI coding, but I don't think the general sentiment one gets from reading hacker news comments literally is accurate. It has to be read in context. At my work, people prefix their critical comments with "nit -" to reassure the reader that it's overall good.
The article itself doesn't have comments. On HN, there's 2 posts that are against vibe coding which could be seen as gatekeeping. What are you referring to when you say "I see many gatekeepers in the comments."?
some people see what they want to see
Hey, that could be considered many. 2 many.
there are now 6 comments all critical of the notion of vibe coding, this thread being the only one started by someone who praises its benefits
> I dont want them safety critical

Then hopefully they run on a computer without network access, otherwise everything is safety critical.

I'm not sure it's explicitly gatekeeping, more a lack of perspective.

The benefit and excitement is most felt by people with little to no experience writing code themselves. The fear seems to come from building.. what, code for critical infrastructure? That's just not what we're talking about here.

> I just want a free script or addon that will do its job instead of paying someone on upwork to do it for me. simple as.

So, you pay the billionaires to rent their graphics cards so you can avoid paying a normal person? -_-

If it is much cheaper, and the outcome is acceptable, probably even better, then that is what people should do.
I run my own model locally?
What is important that it works for you. I think it is good that more users can solve their own problems.
When I started programming, I didn’t have an AI to help me.

I wrote a lot of spaghetti and I confused myself a lot. And it was a lot of fun.

I think the doomsayers ITT are wrong. I think you’ve forgotten what it was like to go from “how do you even make a program” to “I put something on the screen and it’s amazing that I did that”.

I think AI will help a lot of people get over the bump from not even comprehending how software works, to putting something on their screen and evolving their skills from there.

Who cares if they make some spaghetti along the way. That’s necessary for learning. AI or not.

> get over the bump

You call learning, making mistakes and fixing them, and improving "a bump"? That's the whole point.

> That’s necessary for learning

You haven't learned anything in the end. I read a lot of programming books in the past thinking I would be a computer god at the end, and I realized I learned nothing because "I did nothing" exactly like what we have with ChatGPT.

> evolving their skills from there

What skills? If you are just asking a computer for what you want you're not developing any skills, apart from maybe how to describe your requirements better†.

If you take the code the LLM outputs and use that as a basis to be able to write your own code I would call that "learning to program" and I applaud it whether you learn from adapting LLM code or by reading K&R cover-to-cover before you even touch a keyboard. But that's not what this article describes—what this article describes is the very deliberate act of not learning anything.

†Technically just describing your requirements in a way the particular LLM you're using responds best to, which is not necessarily "better" in an objective sense.

Everyone knows that copy pasting code without understanding it is exactly how you don't learn. Every programming class you're in has an underperforming student that does exactly this. Than they barely graduate, get interviewed, and they're somehow worse than the bootcamp grads.

Cursor is that, but prompted by you instead of a stackoverflow question.

You're 1000% underestimating the experience of learning it yourself vs just getting info shot right into your brain.
It's nice that not technical people can also create something new but it is more or less the same like DIY approaches Vs hiring professionals to do something.

About software, it works, fine, but do you ever deal with maintenance, security patches and so on?

That's a very valid concern. What kind of maintenance though? Most of the examples in this article are very simple. Maintenance might involve iterating on features, no real live services that would require any work.

Security patches though, yeah, that's tougher. My position is that if security is a concern, you need to hire someone. As much as many of these tools can integrate with databases and set up auth, I'm not sure how much I trust it personally. Especially if the actual code is hidden.

They are programmers. Its not much different from coding using cookbooks or snippets, which plenty of people have done in the past and continue to do.
If AI does all the coding you are customer not a programmer.

Or do you think a customer who describes his requirements to a programmer who writes the actual program is a programmer too?

Have you used what is being called AI here to program? It is a bit more involved than providing requirements once.
Have you ever been a customer to a programmer? It’s more than telling your requirements once.

Did you use AI to program something you couldn’t do yourself? Did you get the same satisfaction because you solved the challenges or did you feel some kind estranged from the result because or wasn’t really your achievement.

I recently made a quest 3 minesweeper game using ChatGPT to code 95% of everything. I felt more like a manager than a coder. A manager with unlimited patience. By the end though, I felt accomplished and understood Unity IDE at a rudimentary level. I learned a lot and had a great time.
The age of write-only programs is back, perl is relevant again
And APL! It saves so much tokens :D
Just tried making a LLM generate primes for fun in APL : gave me primes ← {⍵/⍨2=+⌿0=⍵∘.|⍵}⍳ :) I'll try submitting that to my colleagues
I wonder... Is the smile part of the program?
Yes. APL is written in symbols
As a lazy person, I've been using this method for a while now, and I greatly appreciate it. But there are two major flaws:

- the end results usually suck: they either feel incomplete, have a major flaw, or just don't work.

- sometimes, the AI just won't understand what the request was, or it will get stuck on a loop while trying to troubleshoot one bug and causing even more.

I believe that code written by actual reasoning people will be miles better than what a machine can. AI should be used for "au-to-ma-tion", and tasks that one doesn't want to or doesn't like to do, like writing documentation.

Here's one instance where this "vibe coding" went right and I got a mostly functional program (game): https://chatgpt.com/share/67a125b3-15cc-8001-9863-13372338e3...

If this annoys you as a software developer consider that you’re now experiencing what the artists have been going through
Most people I know actively hate the AI art slop that has been flooding the internet. I would wager a lot of people do, evident when a common insult is to say a piece of art looks AI generated.

This reaction hasn't happened for AI programming. People just assume it will work because AI is made by programmers.

Both in coding and arts it is still painfully obvious when something is just pure AI slop. At the same time there are both coders and artists that have learned to use these tools to create some truly unique and interesting things
I have no formal software development experience beyond a $15 Udemy course.

If you think vibe coding is as easy as this article makes it sound, try deploying a simple website.

I would encourage you to try Replit!

Deployment is literally a button. Granted, to a replit subdomain. But following some documentation to add your own domain is not out of reach.

You can do this with github pages too, including your own subdomain. ChatGPT could walk you through the steps but there is no requirement for an LLM.

There's been big efforts to simplify this stuff for years. Lots of good tooling out there (which the right questions to an LLM will yield for you).

I think LLMs help with stuff like deploying a website, but they aren't a requirement. You still need to know what you are doing if you want to do something complex.

Cloudflare pages is another option for simple static sites, it's easy to set it up in minutes just following ChatGPT response.

Though I feel this only works well for tech that are widely used.

This is a good snapshot of the landscape for those wondering who’s competing in this space - I bookmarked it for that reason. I’m left wondering who the intended audience is for this - devs with no xp or experienced devs looking to leverage new toolkits. Though the former is implied, it seems like the latter is the case.

This comment thread and this author are mostly experienced devs. Obviously, Automating the first 80% of development this way, you get less happy accidents and less rabbitholing on minutiae which make you a stronger programmer, and give joy. But dang, you get a lot of joy from finishing something too.

And also obvious is the cost of deploying and maintaining. All the SDLC things that come with releasing a product are out of scope here, but that’s likely temporary. It would be great to have assisted deploy build pipeline development I can trust in a product that has a complex blend of old, new, in-house and proprietary service development.

Coffee’s still kicking in. These are my thoughts.

"There's a new kind of coding .. where you .. forget that the code even exists"

That's not coding at all - if is taken out

(the best user inter interface is that one that doesn't stop you and doesn't exist between you and that thing you interact with - it's about the thing, not about how).

It's magic (and magical thinking, wishes) - things have to happen, doesn't matter how (that how was the coding):

> The magic is always real, but once you understand magic it simply becomes knowledge. That makes it no less magical ( https://news.ycombinator.com/item?id=43216041 ).

BTW Why we calling it AI - not AK - Artificial Knowledge as it is indeed ? ( isn't the intelligence something you supposed to have ?)

I hope no one will try vibe surgery.
We did that for thousands of years and it’s still done in many parts of the world
I thought vibe coding meant going in on a project without first laying out a plan, basically KANBAN’ing it and just programming functions based on vibes.

I guess this is even more vibe based, the AI’s vibe that is.

i think that's called AGILE
As a means to increase my own productivity while working on a new startup. I went on to pursue a new concept, and to fix the issues with vibe coding and other related editors/agents. I'm excited to be releasing soon, I think you all would find it interest.

codeaway.ai

I've done plenty of vibe coding over the last year or so and I generally find it to be a fun and rewarding experience. Of course my prompts frequently refer to advanced concepts like memory arenas, left associative operators, and other concepts that are beyond the beginner level.

But to be honest I do take the time to read some code both to clean things up a bit and to learn something new, killing the vibe entirely. So unchill.

Isn't this the same thing as no-code, low-code, MS Access, Excel, HyperCard, 4GL, COBOL etc. we've already had? The idea being that you can build something without knowing how to build something (on a gradient -- you could argue that on the COBOL end of the spectrum you need much more than the no-code end).

I doubt this time around, the AI-flavoured variant is going to change much, except perhaps the volume.

The existing no/low-code has a more limited and controlled design space, and what the “coder” works with has deterministic behavior. With LLMs, they can do anything (including things you don’t want), and you don’t know how well your instructions map onto what they generate (only by testing, not by reasoning). When LLM-created designs run into unmaintainable territory, the corresponding code is invisible to the “coder”. This is unlike no/low-code, where even if the application becomes unmaintainable, the “coder” still has the full overview over their design. Vibes-coding is akin to write-only, you can’t tinker with your specification and see how the output changes; instead all previous output becomes part of the specification, an increasingly growing part that the “coder” doesn’t understand.
I doubt this will ever make sense, but if it does someday actually work, the next step will be for the AI companies to use the tools to auto-inject spyware into the projects of amateurs. If you want something according to your own needs, you'll have to either edit the code to clean it up or use an even better AI to remove it (and this may be forbidden by the EULA).
I thought debugging RAD software was a pain.
Why are people immediately buying in to a nonsense term that some blogger came up with? This means nothing but somehow there are people replying as if this is some scientific technical term that they grew up with after reading it once.
Oh the many, many ways this will go wrong.

The world ended not with a bang and not with a whimper… in the end, it was the sound of someone double clicking on a file written in a language the person “vibing” it couldn’t read and didn’t understand.

It could go so wrong, but the vectors for disaster are already innumerable in this world we live in.

I prefer to think about the ways it could go right. To empower people to create is the very purpose of computers, no?

Let's empower a gorilla to handle a chainsaw and see how that goes.
Yeah, but does this really empower people?

Of course ‘letting someone do what they want’ seems like it’d be the most empowering thing, what’s more empowering than free will. But doing it this way will not give you any knowledge or skill, if you’d ever need to code without an AI or would need to understand a deeper concept you’d have no ground to stand on.

Basically it’s the instant gratification vs delayed gratification but for programming. Is instant gratification empowerment? maybe for a moment.

I agree. This is empowering people to program in the most superficial level. It’s about volume, not quality. It’s the same vein in which social media “empowers” social relationships.

It’s not that it won’t help anyone. But what will be the second order effects if it becomes the norm? And I’m not talking just about “jobs”. I’m talking about the growth and empowerment that comes from learning, the critical thought process, etc.

Vibe code for passion projects, but call a pro for anything mission-critical
New York Times talked about this from the other day (shorter article): https://archive.ph/ruDI8
Hey Siri! Please build for me a trading tool using some custom made AI models and some smart-ass quantitative models so I can build a hedge fund and become rich fast.
You can also fly an airplane without knowing how to fly. It’s profoundly irresponsible, but ethics is no barrier, is it?
OH: "Modern vibe coding is to traditional software what traditional remedies are to modern evidence based medicine."
I think this idea, and AI in general, really scares a lot of professional programmers, but this is the world we live in now. You can't spend too long denying the impact of AI on writing code.

The ability to adapt to a changing world is one of the most useful skills you can have.

> I think this idea, and AI in general, really scares a lot of professional programmers, but this is the world we live in now. You can't spend too long denying the impact of AI on writing code.

I am such a denier. Some colleagues in my department were allowed/instructed to try out AI for coding for months just so that the company could get substantive judgements whether AI is useful or not for coding work.

It basically did not help for the tasks that we are doing (and the tasks that we are doing are quite varied (so there are a lot of different topics where an AI could (purely hypothetically) help), but none of them is "create a scrappy CRUD prototype" :-) ).

Thus: the only impact that AI has on writing code that I don't deny is that a lot of stupid managers fall for the siren call of the various A"I" companies, and cause lots of damage. Of course none of these managers will at the end carry the can for the damage caused.

Ignore this nonsense fad of "Vibe coding". There is no thought about software maintenance which is what will really test those with no "coding" knowledge.

It's just like the infinite monkey theorem, hitting the enter key repeatedly without understanding the actions and eventually reaching their goal.

You would not see software engineers at SpaceX or NASA "Vibe coding" on software that will be running on rockets or defense technology companies vetting candidates that have been doing "vibe coding".

This euphoria feels like a repeat of the years 1999 - 2000 which we will see a crash that will revert back to reality.

> You would not see software engineers at SpaceX or NASA "Vibe coding"

Sure that's true, but I doubt the people with no coding experience who use LLMs to create some application are working on safety critical systems. For me this fad should be embraced, especially by non coders, as it allows them to be creative in new ways.

Agreed! The similarities are stark. let's take the comparison further... Nvidia is the dotcom bubble's Cisco.

But the internet stuck around. It was still useful.

Just because something is overhyped, or doesn't meet the standards of the world's most demanding engineering organisations, doesn't mean that it's not here to stay and improve.

Perspective.

No no, you see, there will be no more maintenance done by humans. The AI will rewrite the app completely from scratch every time you deploy.

The whole product will be defined by a specification distilled out of company meetings, slack messages and emails.

There will be only one button labeled "build and deploy" and if something breaks you press it again.

A button with a dice icon.
> It's just like the infinite monkey theorem, hitting the enter key repeatedly without understanding the actions and eventually reaching their goal.

Reminds me of this https://www.sciencedirect.com/science/article/pii/S277318632...

>Non-trivial text generation during the lifespan of our universe is almost certainly impossible.

Actually, this could be a good thing.
Old man yelling at cloud here, I guess but, what do you do when something doesn't work? How do you ensure security if you have no clue what's going on underneath?
The AI propaganda and hype is so strong that even Starmer mentioned AI fealty in his meeting with Trump.

After Trump was overtly lying about the US spending $360 billion on Ukraine and that the EU had given their aid as a loan.

Is it propaganda if we can see it feel it and use it ourselves? I'm not so sure.

The hype is real, the bubble is real, but that doesn't mean it's meritless.

I have no issues that an isolationist US uses it. I have issues if the US foists the garbage on the EU, just like it now wants to dump Biden's Ukraine war on the EU by insulting Zelensky and deliberately provoking a protective counter reaction in EU leaders.

EU/British leaders are very naive. Just like getting everyone dragged into that Ukraine conflict, the US now drags everyone into AI and makes them pay for it.

Just like the war hype, the AI hype will collapse. In one case the MIC made the profits, in the other case it will be tech bros.

> Starmer

The UK recently announced plans to go big on AI even before the Trump meeting. Much to my dismay, as we've actually done a really good job of grid decarbonisation so far and there's no way building a ton of GPU-filled data centres is going to aid that or our spiralling energy costs.

Its called fuck around and find out innit.

Coding is easy, testing and maintaining is hard.

Wait...what about all the "Learn to Code!" shouting four years ago?
Funny, that went away after corporations flooded the market with cheap inexperienced developers and decided they couldn't afford them either without ZIRP.
Still valid otherwise you can’t distinguish a working app from an app with security issues or even malware.
Or an application that works 50% of the time but is filled with bugs.
Call it slop coding.
Oh, it makes sense now. The previous owner of my home was doing vibe plumbing and vibe electrical work. Without the AI, but all the same regardless.

This is no different than what amateurs have been doing for a long time. Hopefully they’re not taking in PII or charging anyone for these apps.

When I was in engineering school years ago, I had this phrase "faith-based engineering" to describe when my roommate would show me a stress-strain analyses of various parts of the electric racing rig he was working on, we'd look at it, think vaguely about what we know/learned, and say fuck it, build it, see what happens. (no one died, we were in college).

edit: english is hard for english speaker without tea

> This is no different than what amateurs have been doing for a long time.

Yes it is. They now have a cohort, a drunk hallucinating expert.

>Hopefully they’re not taking in PII or charging anyone for these apps.

You bet they most definitely are. Also remember that the S in "vibe coding" stands for security.

> Yes it is. They now have a cohort, a drunk hallucinating expert.

Neighbors have existed long before AI.

Tbf, so do most diy'ers.
Vibes coding.
My previous homeowner was also a vibe maintainer! The difference that I see in this is that the LLM is reasonably at 'expert' level for many of these things. If I sit down with Stevie Wonder and ask him to help me write a song, the resulting song is probably going to be pretty good. Stevie also knows by experience lots of things to avoid, and is intuitively going to help me avoid them unless I instruct him specifically to make a poor choice.

I think there are likely opportunities too to have models or system prompts that cater or adapt to the experience level of the person it's working with. "As you interact with the user, determine their relative level of knowledge and experience. If they seem to be relatively inexperienced with software development, be much more aggressive in helping to warn them about and avoid common pitfalls, bad architectural decisions, and security issues."

I suspect it's probably going to enable a lot of poor quality stuff, but it also may to some degree raise the floor of what's being produced at the same time.

I think the difference between electrical work and software work is with electrical a lot of those standards don’t really change from year to year outside of some code updates. Wiring a wall socket or moving a socket around has been pretty much solved for decades. maybe a different kind of outlet that is a little more safe or some exception about sockets near a sink.

Versus software I were there’s hundreds of different outlets hundreds of different wires tens of different storage mechanisms. Now if the LLM is even slightly unsure, it will hallucinate leading to a mess when things go wrong that the user doesn’t know how to fix

Then an actual expert will have to come in and try to understand what went wrong, which adds additional time than if it was just built right the first time

It's going to lower the floor, because lots of stuff that would otherwise not get produced will be made, and it will be hard to see how incompetent the people behind it are at first glance because the UI could be decent. Imagine putting your valuable information into one of these garbage apps only to find out that the app wasn't even written by a programmer! If it goes just a little farther, and the AI deploys it for you too, how many disclosure and data retention laws are going to be broken by it? You'd have to be awfully desperate to want to use one of these 100% AI monstrosities created by an amateur.
An opportunity for "artisanal" software written by programmers and not machines.
Is it "artisanal" if almost every application still has to be made by humans? I think that nobody will want to run amateur AI software projects from strangers, unless it can be done in a sandbox. Even a well-meaning "creator" could have malicious garbage injected into their product by AI.
Yes but have you tried vibe plastering? It's like artex, but not intentional.
I've been dealing with a particularly vibed plumbling, luckily it's going away with the remodeling...
Jajajajaja. This is a good comparison.
I found this hilarious XD
Isn't this just another version of low coding except we are using AI?