Hacker News new | ask | show | jobs
by angusturner 30 days ago
For small to medium projects, an LLM can write functional (if not well crafted) Rust.

Considering how easy this is now, why choose a heavier, slower and less typesafe language?

4 comments

Edit: I lost the context that this is about building devtools where you can’t just throw more hardware at the problem. But perhaps my answer still explains the reality: anthropic builds Claude with Claude so Claude needs to be easy to build with Claude.

Easier to read for humans is easy to read for LLMs. A more expressive language will bring about fewer misunderstandings when you apply stochastic tools like LLMs.

Just be sure you don’t choose something heavier/slower that is not more expressive.

Ok, so write your app in the garbage collected language, and then tell the LLM to translate it to Rust :)
Could choose a similar weight, similar speed, equal or more typesafe language though :)
Ada? Other than c and c++ everything else benchmarks 2-4 times slower than rust for compute bound tasks, even after jit warmup. I'm up for ada though, especially with an llm where I don't have to type all that verbose syntax.
OCaml? Haskell? Idris?

Lots of options with no jit or warmup

I'm not against jit or warmup, just saying it doesn't actually catch up for compute bound tasks in my experience. Haskell and ocaml would definitely be next on my list, but they do take a very good hit in performance over ada or rust. I wouldn't say they were similar in performance, certainly. There is a pretty big cliff between the systems languages and everything else performance-wise. For a lot of things it doesn't matter I know, but none of those things are domains I've ever worked in. I've never had a project in my professional career where we didn't descope requirements to fit the available compute.
I find it kind of shocking that Anthropic doesn't see it this way.
Claude Code has whole game engine built into it. God knows why.
Tell us more.
perhaps they refer to Claude code being built on top of a React renderer for terminals, Ink https://github.com/vadimdemedes/ink

and is riddled with timeouts and intervals in useffects