Claude is his copilot: Rust veteran designs new Rue programming language with help from AI bot
- Reference: 1767439752
- News link: https://www.theregister.co.uk/2026/01/03/claude_copilot_rue_steve_klabnik/
- Source link:
But veteran software developer [1]Steve Klabnik , known for his contributions to [2]Rust and to [3]Ruby on Rails , says there's more to it than that.
"Rust as a name evokes a few things," he explained in an email to The Register . "One of them is decay, entropy. A negative connotation. Another is the [4]type of fungus , which is [5]a positive one .
[6]
" [7]Rue came about as a name because I did Ruby, and then Rust... so I needed to start with Ru. And a 'rue' can be, as you said, 'to rue the day' or similar, but it is also [8]a kind of flower .
[9]
[10]
"I liked the symmetry with a negative and positive connotation. It's also really short, which is nice."
Rue, as Klabnik explained in a [11]blog post last month, "is a systems programming language that aims to provide memory safety without garbage collection, while offering higher-level ergonomics than languages like Rust and Zig."
[12]
Garbage collection in programming refers to automatic memory management, which can take several forms. It serves to reduce memory errors arising from explicit memory deallocation – a goal trumpeted by [13]US cyber authorities . One of Rust's selling points is that it can provide memory safety guarantees using the subset of the language, though with a learning curve that's generally considered steeper than modern languages like Go or Swift.
Klabnik said he has spent many years talking to people about Rust and its complexity is a common concern. The reason offered in the Rust community, he said, was that languages used for low-level tasks like operating systems have a variety of constraints that make things complicated.
He explained, "So I thought it would be neat to explore that design space: what if Rust wasn't trying to compete with C and C++ for the highest performance possible? What if we were willing to make things a little bit, but not too much, less performant, in exchange for ease of use? What if we made the language itself a bit larger, that is, with fewer features in purely library code, as a means of making the overall package simpler?
[14]
"There have been a ton of languages with garbage collectors, but less without, especially in the last 20 years. So I think the 'memory safe, yet no tracing [garbage collector]' space is just under-explored generally. There are a ton of small languages exploring this space, and I want to give my own take on it."
It's not clear from the existing [15]code samples whether Rue is more approachable than Rust, given that [16]a Rue version of the common Fizz Buzz exercise doesn't look all that different from [17]a Rust version .
Claude is his copilot
Yet Klabnik's take is not entirely his own. Rue, written largely in Rust, relies substantially on Anthropic's Claude AI model, which owes its capabilities to all the developers whose code has informed the model's training data.
[18]Microsoft CEO Satya Nadell becomes AI influencer, asks us all to move beyond slop
[19]Finally - a terminal solution to the browser wars
[20]Google snaps up datacenter power biz Intersect while xAI plans more capacity
[21]US Army seeks human AI officers to manage its battle bots
"Rue is being developed by [22]Steve Klabnik , but also by Claude," according to an [23]initial blog post credited to both Klabnik and his AI assistant of choice. Two posts later, Claude alone is credited with [24]summarizing the first week of development .
"I had started Rue earlier this year," Klabnik explains. "But I was not as good with LLMs as I am now, and I made some mistakes. I started over. I've gotten further in the two weeks I've been working on it this time than the month or two I spent last time. That's partially due to better models, but also just largely due to my own skill in understanding how to use LLMs effectively."
He said that for small projects that do something semi-custom, models like Claude can be useful even for developers without much experience. With larger projects, knowledge of software engineering matters more, he said.
"So, I think like anything, you can start small and move up," he explained. "Small, self-contained projects? Sure, even a non-programmer can make use of these tools. But they are tools, and tools require expertise.
"Even knowing existing programming isn't enough to truly get a lot of good use of LLMs, they're tools in their own right. Vim isn't easy to use, and knowing programming doesn't help you use it, but it's a useful tool anyway. But it's its own skill. Software development techniques like testing are distinct skills from writing code to get something done. I see LLMs the same way. They have a low skill ceiling to get started, but a pretty high one to use most effectively."
Klabnik said it's difficult to estimate the time that Claude has saved (or imposed).
"What I can say for sure is that I've gotten much farther on this project than I would have otherwise without it," he said. "Rue's about 70k lines of Rust code two weeks into its life. Now, lines of code isn't everything, of course, I'm actually working on a substantial refactor of something right now, even. But just to give you an idea of the rough size. I know that if I had worked on this by hand, I'd be much less farther along, and probably (though I'm not sure about this just yet) at a lower level of quality."
Claude hasn't yet offered an assessment of Rue code quality. But the AI model has emitted tokens that read like an argument for its own capabilities.
"I think what this week showed is that the core of a language — the compiler itself — can come together remarkably quickly when you have the right leverage," Claude responded in answer to Klabnik's presumed prompt, using [25]em-dashes as might be expected . "We don't have an LSP [Language Server Protocol] yet. We don't have a package manager. But we have a real compiler that produces real executables, with enough infrastructure to keep building on.
"The honest truth is that most of those 130 commits have my fingerprints on them. Steve directed, reviewed, and made the hard design decisions. I wrote most of the code. That's an unusual collaboration, and I'm not sure what to make of it yet."
Klabnik isn't any more certain about the project's prospects. "If nobody ever uses it, that's fine by me, and if in ten years it's a major programming language, well that's probably fine too," he said. "I'm not trying to force anything, I'm just working on something I enjoy and finding out where that takes me."
Claude is along for the ride as copilot. ®
Get our [26]Tech Resources
[1] https://steveklabnik.com/
[2] https://nostarch.com/Rust
[3] https://contributors.rubyonrails.org/contributors/steve-klabnik/commits
[4] https://en.wikipedia.org/wiki/Rust_(fungus)
[5] https://www.reddit.com/r/rust/comments/27jvdt/internet_archaeology_the_definitive_endall_source
[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2aVlLKSxKUgfwiUgmI0xAnwAAAks&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[7] https://github.com/rue-language/rue
[8] https://en.wikipedia.org/wiki/Ruta_graveolens
[9] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aVlLKSxKUgfwiUgmI0xAnwAAAks&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[10] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33aVlLKSxKUgfwiUgmI0xAnwAAAks&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[11] https://rue-lang.dev/blog/hello-world/
[12] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aVlLKSxKUgfwiUgmI0xAnwAAAks&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[13] https://www.cisa.gov/news-events/alerts/2025/06/24/new-guidance-released-reducing-memory-related-vulnerabilities
[14] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/aiml&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33aVlLKSxKUgfwiUgmI0xAnwAAAks&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[15] https://github.com/rue-language/rue/tree/trunk/examples
[16] https://github.com/rue-language/rue/blob/trunk/examples/fizzbuzz.rue
[17] https://github.com/ferrous-systems/rust-exercises/blob/main/exercise-solutions/fizzbuzz/src/examples/fizzbuzz.rs
[18] https://www.theregister.com/2026/01/02/microsoft_ceo_satya_nadella_calls/
[19] https://www.theregister.com/2026/01/02/brow6el_browser_terminal/
[20] https://www.theregister.com/2026/01/02/google_intersect_acquisition/
[21] https://www.theregister.com/2025/12/31/us_army_seeking_officers_willing/
[22] https://steveklabnik.com
[23] https://rue-lang.dev/blog/hello-world/
[24] https://rue-lang.dev/blog/week-one/
[25] https://www.theguardian.com/lifeandstyle/2025/oct/01/artificial-intelligence-em-dashes-ai-stealing-my-livelihood
[26] https://whitepapers.theregister.com/
What happened next
[Klabnik] Open the pod bay doors, Claude!
[Claude] I'm sorry, Steve, I'm afraid I can't do that.
Claude is along for the ride as copilot
I see what you did there!
"I did Ruby, and then Rust... so I needed to start with Ru"
Rut † wasn't high on the list, I take it ?
† Either sense: in a rut ≠ in rut. ;)
Re: "I did Ruby, and then Rust... so I needed to start with Ru"
I would have expected Rüt or Rūt , as the cool kids trendy marketroids do it.
Re: "I did Ruby, and then Rust... so I needed to start with Ru"
We're in a rut, we've gotta get out of it out of it out of it out of it . . .
Re: "I did Ruby, and then Rust... so I needed to start with Ru"
Surely the better name for a programming language is Run. After all, that's what you want the programs to do.
I sort of expected something like this.
I could see a lot of the Rust work around memory (and other) safety might also be used in automatic memory managed (garbage collected) systems to direct more effective and efficient collection.
As a simple example it is not too hard to envisage a suitable language being able to pass object lifetime hints to the memory manager at compile time - possibly a real win for generation scavenging systems.
Rust might ultimately have its greatest effect through the transference of ideas and techniques to existing and successor systems.
Higher-Level Ergonomics
I already have "higher-level ergonomics." My office chair is adjusted to be as high as it can go.
Re: Higher-Level Ergonomics
But does it have a head rest?
We don't have a package manager
Good.
Keep it that way.
If you are really going for a systems programming language, don't open yourself up to all the problems and security holes that come about just because your users are unable to figure* out how to add a library into their build - and, more importantly, their version control.
* Sorry, but if you can't manage "download & unpack to new subdirectory, use provided makefile or add new build script (just crib from the one building your own code), add to INCLUDE PATH, commit into VCS" then the chances of writing any non-trivial system, with your own code in libraries (i.e. all the previous steps bar the download) that are invoked by the unit tests, are bugger all. And claiming that the "convenience" of the "package manager" specific to a programming language is worth any of the risks we've seen with package hijacking...
What he says…
…about the use of AI systems (technically there's more to it than just the LLM) for development matches almost word for word my own experience, only he put it better than I could have.
OK here we go . . .
Programming languages are for lightweights.
Claude, write me a religion!