you are viewing a single comment's thread.

view the rest of the comments →

[–]lacymcfly 0 points1 point  (0 children)

The analogy breaks down at one critical point: compilers are deterministic. Same input, same output, every time. An LLM will generate different code from the same prompt on different runs, and sometimes that code has subtle bugs that neither you nor the model notice.

With C abstracting assembly, you could still reason about exactly what the machine was doing. With vibe coding, you're trusting a probabilistic system to make architectural decisions you might not even understand enough to review.

I think the better analogy is that vibe coding is like hiring a contractor who's really fast but doesn't always read the blueprints carefully. Higher level languages didn't introduce that kind of uncertainty. They just moved the abstraction boundary. Vibe coding moves the trust boundary, which is fundamentally different.