3 ms·
For instance, the TypeScript rewrite in Go was done mostly by humans and took a year before it was released. That is how you rewrite software that people can tr
by maxloh 3mo ago
For instance, the TypeScript rewrite in Go was done mostly by humans and took a year before it was released. That is how you rewrite software that people can trust.
- rjh29 3mo agoAI is a great use for this kind of boring, rote translation where precision is important. Humans are quite bad at it and tend to make mistakes. In either case the focus should be on improving testing, not trying to manually verify if the translation was correct by eye.
- IsTom 3mo agoWith programs large enough tests aren't going to ever be enough. Formal verification might work, but then who checks the specification for bugs?
- copperx 3mo agoIn the case of rewrites, the specification is the original behavior, no? bugs and all.
- cyphar 3mo agoI really wonder where all of these people who believe that tests perfectly encapsulate the behaviour of software come from. Maybe it's because LLMs happen to work better when you give them acceptance criteria and people struggle to distinguish between "better" and "good"?
- 27183 3mo agoThe real test is years in production. Over time your test suite grows when bugs are found and fixed, but not every bugfix necessarily gets a test, and it's very rare that a bugfix is exhaustively tested. Relying on the test suite as a directional indicator that your vibecoded rewrite functions something like the original is probably sensible. But it isn't "done" until you've run it in production for at least as long as the original. And that's where it all falls apart, because maintenance will be a nightmare. Nobody knows how the new thing works.
- rjh29 3mo agoLadybird's Rust port of the JS engine was a good example. Compare the output byte-for-byte, run both in production (with the new code disabled but checked) before releasing. It was LLM-translated but done carefully.
- hoppp 3mo agoI have an issue with the precision of generated code. LLMs sometimes confidently leave things out or they will overbuild. I use them all the time but mistakes happen. It's not exactly a scalpel, more like a sledge hammer.
- pier25 3mo agoIf precision is important then non deterministic AI is simply not a good tool.
- subygan 3mo agoWhat about human written software makes it more reliable than LLM written software? is it the craftsmanship, or the deliberate decision making of industry veterans?
- queenkjuul 3mo agoIt's the notably poor quality of LLM-generated code
- Petersipoi 3mo agoAs opposed to the incredible code that humans are known to write...
- hoppp 3mo agoIf attention is all we need then what is better Hours of human attention or a few seconds of AI attention? I am not just talking about writing the code but the brainstorming that goes into it.
- queenkjuul 3mo agoI mean, yes? Every engineer on my team produces better code than Claude. There are plenty of examples of excellent human produced code, so this argument always falls flat for me.
- rirze 3mo ago> mostly by humans `mostly` is doing a lot lifting here. The Go rewrite uses plenty of copilot. The reason you trust it is because you trust the people doing the rewrite.
- dboreham 3mo agoMany projects that were done by humans and took a year can certainly not be trusted.