Top
Best
New

Posted by LiamPowell 5 days ago

Bend 2 and the Vibe-Coding Trap(blog.liampwll.com)
327 points | 235 commentspage 4
sligbad 5 days ago|
Pro: it can be an excellent way to learn if you realize good problems don't come easy, many such cases where I abandon something having learned from it and that's life

Con: the machine will tell you you have easily found a good problem, and engineered the perfect and necessary solution, if you let it

auggierose 5 days ago||
I wouldn't use SPARK either, and rather develop my own approach. The problem isn't that the proof has 400 lines of code, every modern system has large proofs (Isabelle/HOL, Lean, etc.) My latest formal proof has over 50K lines of proof. That's why AI is such a useful tool.
vintermann 5 days ago||
"Know what to ask for" is what will keep me with a job for a while longer, I guess.
octoberfranklin 5 days ago||
The problem is that vibe coding makes it possible to build a substantial solution before learning enough about the problem to recognise that a much better solution exists.

We need a catchy name for this phenomenon.

IshKebab 5 days ago||
Yes I think fundamentally the effort required to understand, write, and verify a formal specification is just way higher than is reasonable in most situations.

There are some cases where it is pleasingly simple - usually low level algorithms like compression, sorting, search etc. Basically things you'd find in leetcode questions.

Most software isn't like that.

I think the actual answer is just that the very latest models (e.g. Astra) are actually quite good at writing normal tests, and you can just skim them to make sure they're doing something sane.

rrook 5 days ago|
Narrowly, I think you're spot on. The effort required to understand the machinery around formal verification is a function of the surface area of the thing being formally verified. Specifically, formally verifying the surface area of general purpose programming languages is difficult.

My approach with Hale (shameless self plug) is that the programming language itself first offers another strata of structure to program within, a type of graph. Once the structure of the program is expressed as a graph, understanding how formal verification works is a clean encapsulation of graph activities.

vegnus 5 days ago||
A language for LLMs will never be a compiled language. The best language for LLMs would be something that can be interacted with. Like a Lisp.
DannyBee 5 days ago||
"This example matters beyond Bend, vibe-coding makes it makes it far too easy to implement a design that’s horribly broken or decades behind the current state of the art because you can immediately get a result without ever having to do any research."

This is totally true but almost totally irrelevant. I'll use some hyperbole here to make the point: Whether the design is broken or decades behind doesn't matter anymore. Neither of those are an outcome/end goal. They are means we historically have used to achieve good end goals or outcomes.

In the end, the goal is usually "does it meet the needs of the person who needed it" not "is it good software". If it no longer meets their needs and they can vibe code another total piece of shit in an hour that meets their needs again, they still may be "better off" than spending time researching the field and learning and ...

This may feel shitty, and it may feel like it should not be true. But right now, that seems to be true?

In that sense, the author is wrong that vibe-coding is a trap. The trap is assuming you have to make something good to meet someone's needs both now, and in the future.

Now, like i said, this is hyperbole, and there are lots of good arguments against it. The author's just isn't one.

Technically good or better has never mattered very much in the marketplace, despite people wanting it to really badly (ease of use often mattered, but not technical goodness). Software engineers often took pride in their work and so there were usually kernels of goodness in even the shittiest software. All you are seeing is that now it is nowhere near as hard to create and bring these "solutions" to market, and more importantly, doesn't necessarily require anyone who has any pride in their work at all, or even have any experience in software engineering. As such, technical goodness has mostly gone out the window because the market never required or really rewarded it.

svachalek 4 days ago|
Good point, it's similar to music and other forms of art. The qualities that the people creating it care most about often have little to do with how well it is received.
cwhy 4 days ago||
All I see from this article and the whole saga is pure sadness. The situation seems unfortunate but seemingly unavoidable.
madamelic 4 days ago||
It absolutely drives me up the wall when I hear someone wrote their own language or framework because "the current ones just didn't do what I wanted to do" and then the result is a worse language/framework that the LLM and person know.

I absolutely endorse new creations when they are necessary but the people making these aren't doing it from a point of education, they are doing it purely because _they_ don't understand the framework or language that is the standard for that area.

It always always always involves a high level of AI Psychosis, that a brand new web framework is needed for your revolutionary... CRUD app?

Jcampuzano2 5 days ago|
This whole article can basically be summarized as "why is anybody building anything that already exists" gatekeeping.

Despite the fact that the entire premise is incorrect since the author of the language clearly has been shown to know about formal verification, this is basically encouraging nobody to ever post anything they work on for fear it might be "similar" to something already out there.

Is this really where we want the industry to go to all because of vibe coding?

The author of the article itself also clearly did 0 research of their own at all on the author of the language, and admits to vibe coding their own example themselves.

What the fuck are we doing.

More comments...