| ▲ | rich_sasha 8 hours ago | ||||||||||||||||||||||||||||||||||||||||||||||
I came to "vibe coding" with an open mind, but I'm slowly edging in the same direction. It is hands down good for code which is laborious or tedious to write, but once done, obviously correct or incorrect (with low effort inspection). Tests help but only if the code comes out nicely structured. I made plenty of tools like this, a replacement REPL for MS-SQL, a caching tool in Python, a matplotlib helper. Things that I know 90% how to write anyway but don't have the time, but once in front of me, obviously correct or incorrect. NP code I suppose. But business critical stuff is rarely like this, for me anyway. It is complex, has to deal with various subtle edge cases, be written defensively (so it fails predictably and gracefully), well structured etc. and try as I might, I can't get Claude to write stuff that's up to scratch in this department. I'll give it instructions on how to write some specific function, it will write this code but not use it, and use something else instead. It will pepper the code with rookie mistakes like writing the same logic N times in different places instead of factoring it out. It will miss key parts of the spec and insist it did it, or tell me "Yea you are right! Let me rewrite it" and not actually fix the issue. I also have a sense that it got a lot dumber over time. My expectations may have changed of course too, but still. I suspect even within a model, there is some variability of how much compute is used (eg how deep the beam search is) and supply/demand means this knob is continuously tuned down. I still try to use Claude for tasks like this, but increasingly find my hit rate so low that the whole "don't write any code yet, let's build a spec" exercise is a waste of time. I still find Claude good as a rubber duck or to discuss design or errors - a better Stack Exchange. But you can't split your software spec into a set of SE questions then paste the code from top answers. | |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | tomtomtom777 6 hours ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||
I agree, and like to add, > It is hands down good for code which is laborious or tedious to write, but once done, obviously correct or incorrect (with low effort inspection). The problem here is, that it fills in gaps that shouldn't be there in the first place. Good code isn't laborious. Good code is small. We learn to avoid unnecessary abstractions. We learn to minimize "plumbing" such that the resulting code contains little more than clear and readable instructions of what you intend for the computer to do. The perfect code is just as clear as the design document in describing the intentions, only using a computer language. If someone is gaining super speeds by providing AI clear design documents compared to coding themselves, maybe they aren't coding the way they should. | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | nonethewiser 6 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||||||||
The hardest part of coding has never been coding. It's been translating new business requirements into a specific implementation plan that works. Understanding what needs to be done, how things are currently working, and how to go from A to B. You can't dispense with yourself in those scenarios. You have to read, think, investigate, break things down into smaller problems. But I employ LLM's to help with that all the time. Granted, that's not vibe coding at all. So I guess we are pretty much in agreement up to this point. Except I still think LLMs speed up this process significantly, and the models and tools are only going to get better. Also, there are a lot of developers that are just handed the implementation plan. | |||||||||||||||||||||||||||||||||||||||||||||||