3/5/2026 at 6:38:45 PM
Getting tons of Gell-Mann from this one. On the surface level, a more rigid type system helps, but it doesn't remove all potential classes of bugs. For example, if you're using Rust to interact with LLM APIs, you're still sending strings around. If those prompt string reference code such as a field name as a string literal, and you rename the field name, but forget to update the string, you've got a bug. You can, of course not use a string literal, but hey, it happens. I'm not sure if Rust can reference field names at compile time and get them into string, but I do know TypeScript can.Which brings me to... choosing to throw TypeScript under the bus for having an "unsound" type system ignores the fact that you can just throw more tooling at the problem (e.g., a linter that disallows `any`, since that one example cited in the article), and glazes over the fact that the JS ecosystem has a lot more examples in the training data for many LLMs. The further you deviate from the slop-mean, the worse time you're going to have using LLMs to generate code, slop or otherwise.
by jondwillis