| ▲ | adam_arthur 3 hours ago | ||||||||||||||||
LLMs have clearly accelerated development for the most skilled developers. Particularly when the human acts as the router/architect. However, I've found Claude Code and Co only really work well for bootstrapping projects. If you largely accept their edits unchanged, your codebase will accrue massive technical debt over time and ultimately slow you down vs semi-automatic LLM use. It will probably change once the approach to large scale design gets more formalized and structured. We ultimately need optimized DSLs and aggressive use of stateless sub-modules/abstractions that can be implemented in isolation to minimize the amount of context required for any one LLM invocation. Yes, AI will one shot crappy static sites. And you can vibe code up to some level of complexity before it falls apart or slows dramatically. | |||||||||||||||||
| ▲ | Sohcahtoa82 5 minutes ago | parent | next [-] | ||||||||||||||||
Agreed. What I've found is that AI can be alright at creating a Proof of Concept for an app idea, and it's great as a Super Auto-complete, but anything with a modicum of complexity, it simply can't handle. When your code is hundreds of thousands of lines, asking an agent to fix a bug or implement a feature based on a description of the behavior just doesn't work. The AI doesn't work on call graphs, it basically just greps for strings it thinks might be relevant to find things. If you know exactly where the bug lies, it can usually find it with context given to it, but at that point, you're just as good fixing the bug yourself rather than having the AI do it. The problem is that you have non-coders creating a PoC, then screaming from the rooftops how amazing AI is and showing off what it's done, but then they go quiet as the realization sets in that they can't get the AI to flesh it out into a viable product. Alternatively, they DO create a product that people start paying to use, and then they get hacked because the code is horribly insecure and hard-codes API keys. | |||||||||||||||||
| ▲ | athenot 3 hours ago | parent | prev | next [-] | ||||||||||||||||
> We ultimately need optimized DSLs and aggressive use of stateless sub-modules/abstractions that can be implemented in isolation to minimize the amount of context required for any one LLM invocation. Containment of state also happens to benefit human developers too, and keep complexity from exploding. | |||||||||||||||||
| |||||||||||||||||
| ▲ | CuriouslyC 2 hours ago | parent | prev | next [-] | ||||||||||||||||
Valknut is pretty good at forcing agents to build more maintainable codebases. It helps them dry out code, separate concerns cohesively and organize complexity. https://github.com/sibyllinesoft/valknut | |||||||||||||||||
| ▲ | sjdixjjxs an hour ago | parent | prev | next [-] | ||||||||||||||||
> We ultimately need optimized DSLs and aggressive use of stateless sub-modules/abstractions that can be implemented in isolation to minimize the amount of context required for any one LLM invocation Wait till you find out about programming languages and libraries! > It will probably change once the approach to large scale design gets more formalized and structured This idea has played out many times over the course of programming history. Unfortunately, reality doesn’t mesh with our attempts to generalize. | |||||||||||||||||
| ▲ | themafia 2 hours ago | parent | prev | next [-] | ||||||||||||||||
> accrue massive technical debt The primary difference between a programmer and an engineer. | |||||||||||||||||
| ▲ | lowbloodsugar 3 hours ago | parent | prev [-] | ||||||||||||||||
>If you largely accept their edits unchanged, your codebase will accrue massive technical debt over time and ultimately slow you down vs semi-automatic LLM use. Worse, as its planning the next change, it's reading all this bad code that it wrote before, but now that bad code is blessed input. It writes more of it, and instructions to use a better approach are outweighed by the "evidence". Also, it's not tech debt: https://news.ycombinator.com/item?id=27990979#28010192 | |||||||||||||||||
| |||||||||||||||||