(no title)
dartos | 11 months ago
It seems like you should know, so I'm going to bet that you're not entirely letting the AI drive.
Having the AI draft some code which you refine is a fine workflow. I didn't think it was before, but i've come around on that. I think it's also nice to have an LLM do a onceover to point out areas where I may have missed catching an error (like with JSON.parse in javascript or something.)
It's just not my cup of tea, personally. I've found that I'm faster writing code myself and treating an LLM as an assistant or rubber duck, but to each their own.
I'm referring to wholly AI generated code with no human input besides a prompt or "vibe coding." You literally can't put enough context into a prompt to have it write the exact code you'd need in every case. Your prompt would end up just being code at that point.
That's the whole point of writing code. Precise and exact instructions for a machine. You're not going to get that by adding a statistical natural language layer in the mix.
meowface|11 months ago
Of course, odds are there in fact is something you need to change - maybe a poor design choice or a bug or missing logic. So you of course do need to always thoroughly review it. But reading 1000 lines is faster than coming up with 1000 lines you plan to write and writing them. And also, if you see a missing thing, you can just do a follow-up prompt in the same chat context rather than actually typing a single thing into the text editor.
I know it can feel alien, and I definitely still spend a lot of time manually writing and editing code, but I'm trying to outsource more and more to the model and trying to put myself into a mindset of "first try to see if I can accomplish all this with prompts, and then fallback to 'raw coding' if it fails after a few tries" for everything and I find it's speeding me up a lot.
You should try to give it another shot. Could maybe wait another year first for the editors and models to get even better than they are right now.
>I'm referring to wholly AI generated code with no human input besides a prompt or "vibe coding." You literally can't put enough context into a prompt to have it write the exact code you'd need in every case. Your prompt would end up just being code at that point.
True, but... you can do that! It may or may not be faster than writing the code you want, true, but sometimes I think it will be faster/simpler. Gemini 2.5 now (or soon?) supports a 2 million token context window. You can write a very precise spec in the prompt. Use formal language, or use a little DSL you invent on the spot, or say "it should do X and Y and account for Z and also try to cover other things if you realize there are more", etc. There's a lot you can do.
There absolutely will still be many scenarios where it's faster overall to just write the code or where it really is harder to express what you want to say in English vs. in code, but those scenarios may be less common for you than you currently think or expect.
dartos|11 months ago
I’m not saying this is impossible. I’m saying it leads to poor quality products. Deploying thousands of lines of code isn’t necessarily a good thing. Often it’s not.
> You can write a very precise spec in the prompt. Use formal language, or use a little DSL you invent on the spot, or say "it should do X and Y and account for Z and also try to cover other things if you realize there are more", etc. There's a lot you can do.
At this point, why use an LLM at all? Why introduce a black box? We can perfectly and tractably convert formal languages into machine code.
Things are never simpler when black boxes are involved…
These tools, again, are undoubtedly useful and sometimes (albeit inconsistently) magic.
But they’re not a silver bullet for making software.
I tried vibe coding literally yesterday, as I do every week or so. I used avvante.vim and code companion. I tried with gemma3 and Claude. It’s slow, boring,and I (someone with ADHD) lose all focus when the llm starts running.
The output is prototype quality always. It looks okay and mostly works correctly (granted I usually just make a todo list or a job board) but is obviously over complicated and bloated.
If you don’t care about quality or long term maintenance (like with a prototype or POC) then it’s fine.
xigoi|11 months ago
—Antoine de Saint-Exupéry
If you’re writing thousands of lines of code for what can be described in a few words, the code is probably horribly overcomplicated.
jf22|11 months ago
>You literally can't put enough context into a prompt to have it write the exact code you'd need in every case.
Yes you can. I do this every day.
dartos|11 months ago
Would you be willing to share your code and your workflow?
> >You literally can't put enough context into a prompt to have it write the exact code you'd need in every case. Yes you can. I do this every day.
It hasn’t been possible for maths and isn’t for programming.
I’ll defer to Dijkstra on this “foolishness”
https://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD667...