4 ms·
The problem with Windsurf is that it works great until it doesn't. And the time you spend checking and fixing its mistakes is longer than it would take for you
by XCSme 2y ago
The problem with Windsurf is that it works great until it doesn't. And the time you spend checking and fixing its mistakes is longer than it would take for you to implement that yourself.
Some of those cases are:
* Sometimes the Accept changes button doesn't work
* Sometimes it DELETES a lot of your code, without you noticing
* Sometimes it duplicates code
* Sometimes it gets stuck in a loop trying to fix an error, or it can't fix trivial errors
* Sometimes it suddenly can not access your files.
* Sometimes it adds "// ...rest of code goes here" comments instead of writing the code.
In my experience, the best use-cases for AI assistants/LLMs are:
* Generate boilerplate/scaffold for a new project
* Refactor code (rename variables, functions, or slightly alter functionality like use "while loop instead of for")
* Quick way to find the name/signature of an API/function without having to google the docs of that library (e.g. "add a new React MaterialUI list")
I have used it for about 2 months, but in my experience it actually gets worse with time, not better. The problem now doesn't seem to be with the actual writing of code, but with the UI and how it applies the changes.
- ndileas 2y agoI definitely don't need an AI to write // TODO make this work. That's what I'm for!
- XCSme 2y agoIf this is what Claude was trained on. Maybe they could filter this out from the training data. Or somehow detect if it writes something like this, and do one more chain-of-thought expansion on it.
- AnimalMuppet 2y agoI want to see an AI write // drunk - fix later.
- f1shy 2y agoYeah. Is basically like claiming that current autopilot/automation in planes make pilots superfluous. Basically every part of the flight can/could be completely automated today, but still you need those 2 guys, for the event that something goes wrong. Now, before someone comes with a snarky “like in Korea”: that was one of thousands emergencies in the last couple of years, where that 2 humans made the difference. May some day need no pilots? Yes. Not today, no tomorrow.
- jraph 2y ago> In my experience, the best use-cases for AI assistants/LLMs are: that seems bad, IDEs are already quite good at these three points without AI.
- XCSme 2y agoPartially, LLMs cover a lot more cases. Sometimes I have multiple variables, like: var firstJob; var lastJob; var totalJobs; And then, if I want to rename Job -> Task, with LLMs, I just edit first variable, and then it auto-detects my intention and suggests all those changes with a single Tab press: var firstTask; var lastTask; var totalTasks; With the IDE you can only F2 to rename individual variables, or replace all occurences, which might overwrite other variable names too (also maintaining casing is tricky sometimes). LLMs are also good at predicting what you're going to type, especially with adding comments or hard-coded content. Like, when you write var firstTask; var l... Now you will get autocomplete for lastTask; in one tab, faster than typing it. Also amazing for conversion, let's say you have a YAML file and you want it converted to JSON, you just select it and ask "convert to JSON", done.
- nunez 2y agoThe last example definitely doesn't need LLM IMO
- XCSme 2y agoWhich one? YAML to JSON?
- nunez 2y agoCorrect. You can use `yq` to do this easily. yq -o json .
- XCSme 2y agoThat was just an example, LLM can convert any format, directly within the document/file. It's a lot faster and easier to use, especially when developing and you just need to try out quickly different things. For example, you can just copy-paste a json snippet from the web, pasted it into the chat window and say "pass this as inline YML".
- rstuart4133 2y agoYou're using it to write code. I did that and saw all the same problems. I was particularly taken aback by the deleting code thing. (Me: "Why did you delete that code - it has nothing to do with the task I asked you to do". AI: "Oh you're right, sorry".) I set a far lower bar for paying for windsurf - I just wanted a smarter grep. I was blown away when I pointed it at some code and asked it questions I knew the answer to. But then I asked it questions I didn't know the answer to. I can't recall it helping in the slightest on any code base I was familiar with. Maybe it will help writing unit tests. It sure as hell didn't help for a Python 2 to 3 conversion. 50% of it was just plain wrong, and most of the remaining 50% needed fixing. So far, for this person who has been programming for 40 years, it a net drag on productivity.