← Back to context

Comment by the_af

1 day ago

"Overrated" is one way to call it.

Giving sharp knives to monkeys would be another.

Why do people keep thinking they're intellectually superior when negatively evaluating something that is OBVIOUSLY working for a very large percentage of people?

  • I've been asking myself this since AI started to become useful.

    Most people would guess it threatens their identity. Sensitive intellectuals who found a way to feel safe by acquiring deep domain-specific expertise suddenly feel vulnerable.

    In addition, a programmer's job, on the whole, has always been something like modelling the world in a predictable way so as to minimise surprise.

    When things change at this rate/scale, it also goes against deep rooted feelings about the way things should work (they shouldn't change!)

    Change forces all of us to continually adapt and to not rest on our laurels. Laziness is totally understandable, as is the resulting anger, but there's no running away from entropy :}

    • > I've been asking myself this since AI started to become useful.

      For context: we're specifically discussing vibe coding, not AI or LLMs.

      With that in mind, do you think any of the rest of your comment is on-topic?

  • It's not obvious that it's "working" for a "very large" percentage of people. Probably because this very large group of people keep refusing to provide metrics.

    I've vibe-coded completely functional mobile apps, and used a handful LLMs to augment my development process in desktop applications.

    From that experience, I understand why parsing metrics from this practice is difficult. Really, all I can say is that codegen LLMs are too slow and inefficient for my workflow.

  • > Why do people keep thinking they're intellectually superior when negatively evaluating something that is OBVIOUSLY working for a very large percentage of people?

    I'm not talking about LLMs, which I use and consider useful, I'm specifically talking about vibe coding, which involves purposefully not understanding any of it, just copying and pasting LLM responses and error codes back at it, without inspecting them. That's the description of vibe coding.

    The analogy with "monkeys with knives" is apt. A sharp knife is a useful tool, but you wouldn't hand it to an unexperienced person (a monkey) incapable of understanding the implications of how knives cut.

    Likewise, LLMs are useful tools, but "vibe coding" is the dumbest thing ever to be invented in tech.

    > OBVIOUSLY working

    "Obviously working" how? Do you mean prototypes and toy examples? How will these people put something robust and reliable in production, ever?

    If you meant for fun & experimentation, I can agree. Though I'd say vibe coding is not even good for learning because it actively encourages you not to understand any of it (or it stops being vibe coding, and turns into something else). It's that what you're advocating as "obviously working"?

    • > The analogy with "monkeys with knives" is apt. A sharp knife is a useful tool, but you wouldn't hand it to an unexperienced person (a monkey) incapable of understanding the implications of how knives cut.

      Could an experienced person/dev vibe code?

      > "Obviously working" how? Do you mean prototypes and toy examples? How will these people put something robust and reliable in production, ever?

      You really don't think AI could generate a working CRUD app which is the financial backbone of the web right now?

      > If you meant for fun & experimentation, I can agree. Though I'd say vibe coding is not even good for learning because it actively encourages you not to understand any of it (or it stops being vibe coding, and turns into something else). It's that what you're advocating as "obviously working"?

      I think you're purposefully reducing the scope of what vibe coding means to imply it's a fire and forget system.

      3 replies →

Vibe coding has a vibe component and a coding component. Take away the coding and you’re only left with vibe. Don’t confuse the two.

Saying that as I’ve got vibe coded react internal tooling used in production without issues, saved days of work easily.

  • > Don’t confuse the two.

    Vibe coding as was explained by the popularizer of the term involves no coding. You just paste error messages, paste the response of the LLM, paste the error messages back, paste the response, and pray that after several iterations the thing converges to a result.

    It involves NOT looking at either the LLM output or the error messages.

    Maybe you're using a different definition?

    • A case can be made that it involves an experienced coder to be vibe coding, as the author of the term most definitely is and I feel this context is at the very least being conveniently omitted at times. Whether he was truly not doing anything at all or glanced at 1% of generated code to check if the model isn't getting lost is important, as is being able to know what to ask the model for.

      Horror stories from newbies launching businesses and getting their data stolen because they trust models are to be expected, but I would not call them vibe coding horror stories, since there is no coding involved even by proxy, it's copy pasting on steroids. Blind copy pasting from stack overflow was not coding for me back then either. (A minute of silence for SO here. RIP.)

      3 replies →

I'd rather give my green or clueless or junior or inexperienced devs said knives than having them throw spaghetti on a wall for days on end, only to have them still ask a senior to help or do the work for them anyways.

  • It's somewhere in between. Said struggle is where they learn. Guidance from seniors is important, but they need to figure it out to grow.

  • How will they ever learn if all the do is copy-paste things without any real understanding, as prescribed by vibe coding?

    • I'm not advocating for vibe coding, that's new-age hipster talk. But just using the AI for help, assistance, and doing grunt work is where we have to go as an industry.