Hacker News new | ask | show | jobs
by conartist6 428 days ago
I don't think there's anyone better positioned to answer your question than I am, given that I've spent the last 3 years building the IDE tech that OpenAI really wants and needs right now (though they don't yet know it).

The problem is that what you're discussing is a political undertaking. I don't mean that it's "left versus right" political, I mean that the primary task that makes it hard is getting a lot of human beings to agree on some low-level details about how the gory internals of an IDE work. LLMs can produce text, but they have no will to political organization. They aren't going to accomplish a task by going out and trying align the needs of many individuals in a compromise that requires determined work to find out what those people really want and need, which is the only way to get this particular task done. Somehow the natural-language-as-API idea has made many people think that in the future APIs and formal technical standards will be unnecessary, something for which I do not see evidence.

There's a second problem too, one of alignment: LLMs encourage you to give away the work of coding. I would not for anything give away the pain of using mediocre tools like VSCode to write a lot of code myself, because what I learn as the intelligence doing the work is what I need to know to be able to make tools for doing that work more efficiently. I use my learnings to design protocols, data structures, libraries, frameworks, and programming languages which don't just *mask* the underlying pain of software development but which can reduce it greatly.

4 comments

> Why couldn’t OpenAI vibe code their own Windsurf/Cursor competitor?

The obvious answer is that vibecoding does not work.

If it did, OpenAI wouldn't need to buy Windsurf

I'm as much of a skeptic about vibe coding as you are. I consider engineering a bit of an art, so it's not for me.

That said, the kinds of things I've been hearing as going wrong with vibe coding are all or mostly fixable. I would even go as far as to say they're manifestations of the same problems that make IDEs such clumsy tools for humans to use at the moment, which is why we're trying to foist all this annoyance of using them off onto AIs.

The biggest problem, THE problem in this space is that tools we use don't have the language to describe the logic -- the intent -- behind refactorings. If you've never captured the user's intent, you can't learn from it. The ability to capture that intent is absent all the way from the highest level UX right down the lowest level of serialization: the patch format

That's why I believe it's my tech they really need and not Windsurf's -- I'm working on capturing the intent top to bottom.

Isn’t the intent described in the commit message, which is one of many ways the developer can use to share intent? Code is only the what and the how. The why should be in Wiki, Readmes, Commit, Issue tracker…
Let's say the change is to rename a variable. The patch format can never capture that the intent was to rename a variable. You can say so in a commit message, sure, but the action is never recorded, only it's effects, causing merges involving the rename to have conflicts
That’s because the code is data for an execution machine. All the other stuff are for the hunan mind. There’s multiple way to transition from one state of code to another, so mostly people record the existence of a transition (version control) and why it has happened (commits and other texts).

Recording how is not fruitful, unless the technique is good. In this case, the essence will be extracted, and it will become a checklist or a script.

If you have two itents producing conflicting patches, the merge intent that emerges is good because it brings empathy (understanding the message) and harmony (working code). And that’s why almost everyone says that the code itself doesn’t matter. Only the feature that it brings into play and the the mind that birth it do. It is a medium.

And a merge conflict is nice because it detects overlapping work and the fact that the concerned people should propably meet.

Typically intent needs to be well defined, such as PR discussions, use case / need assessments, or user stories on a backlog.
Intent being unclear is exactly why different languages exist
> the kinds of things I've been hearing as going wrong

That’s the problem with this stuff. It’s all hearsay.

Iunno, Cline is vibe coding some stuff for me right now while I’m surfing through hacker News.
Yeah that's weird to me but I've made my peace with it. I do this to make the software I want to use, and I think that's a chance everyone should have.
This is patently wrong - as an experiment, I've vibe coded* four apps in the last 10 days. I did not write one line of code myself. Two are crud style, one is DNS related and one is for an embedded device. They were non-trivial use cases, built using claude desktop with various MCP tools. I was blown away by just how good it was.

*the original definition of vibe coding involved using voice to dictate the prompts to AI, I prefer to type.

I mean, why did Facebook buy Instagram? It's a feed of photos and social network, hmmmm. In one sense, sure you can copy any software out there when you have the resources, but OpenAI got to peak under the hood of Windsurf and 1) Found a large, growing community (emphasis on growing) they can buy, which is worth something and 2) A team that probably will save them 1 year of unforced errors (also worth something) and 3) they have a lot of capital to deploy anyway, and this is not a risky bet.
Exactly. Some of the ultra-myopic takes regarding vibe coding reek of "the lady doth protest too much" lol. Cope on!
Your comment hurts my brain. Help me understand your reasoning here:

"Technology no worky. Therefore let's spend $3billion to buy one of the leading tools that already has a million users."

Did you even stop for 5 seconds to think about how completely nonsensical your comment is? The dev-cope is strong here... XD

I am not the one coping. Many things may threaten my earnings as a Dev, mostly the very clear possibility of a difficult economic scenario in the years to come.

Vibe coding is just people deeply invested in a deadend technology trying to hype it up.

And I say this as someone that does use AI to a limited capacity as a code assistant.

And the next link I click captures it perfectly: https://blog.ollien.com/posts/llm-friction/

To quote Ollien:

> Even as an “LLM-skeptic”, it would be silly for me to say that the tools are useless for software development. There are clearly times where they can be useful, whether that’s to perform a refactoring too complicated for IDE tooling, or to get a proof-of-concept put together. With that said, in my time both using and watching others use LLMs, I have noticed a troubling trend: they help reduce friction when developing software – friction that can help us to better understand and improve the systems we work on.

It's quite funny to me that in the case I'm talking about, "a refactor that's too complicated for IDE tooling" is exactly the kind of friction that needs to be felt

If the refactoring is beyond the IDE tooling it's even more incumbent on the engineers/developers to know what they're doing instead of outsourcing it to the "brains" behind an LLM.
I wouldn't use LLM for serious refactors. It's actually the common "recipes" using popular libraries where LLM is most useful for me now.
That friction is the smell you need to chase down for a refactor.
I’ve been building text editor as notion from the ground up. Recently i’ve been uploading the full codebase to Gemini to discuss different tasks. I can fully agree that the LLM can simply not decide on how to do things! If you slightly tweak your prompt it will suggest an entirely different architecture. You have to be very careful about pulling out the right stuff from the cargo cult best practice stuff baked in to the model. Another thing, a really obvious optimization might be just staring it in the face and it won’t suggest it unless you say “have you considered XYZ?” and then all of a sudden it won’t stop talking about XYZ! But most of all you just have to be strong in your will power to guide it in the direction you want.
This excellent presentation (Veritasium) is making much the same point (learning comes from “reps”).

https://youtu.be/0xS68sl2D70?si=rXg5_wjg4bEdMalw