Why not Rust?

Notes are short, informal thought pieces relevant to Radiant Computer.

I’ve been asked a couple of times what motivated me to create R’ and Radiance when it seems superficially similar to Rust. Why not use Rust as the native language for the Radiant?

At first, I did considering Rust or even possibly Zig as an implementation language, but after more thinking I decided to start working on R’ and Radiance for several reason.

  1. Starting with the language itself, Rust is in my opnion the best systems language available, all things considered. However it has one major flaw: it’s a very hard language to learn for beginners. Throw in async into the picture, and it’s hard even for professionals! Radiant is meant to be accessible to everyone; we need a language that is easy to read and write.
  2. The compiler toolchain will have to be able to run on the Radiant, since Radiant is a fully independent, self-hosting system. For Rust, this means porting LLVM and all its dependencies over. This is a monumental task and likely a huge waste of time. There are some alternative backends in the works (eg. Cranelift), but they’re not in production yet. Even with LLVM out of the picture, there are dependencies on things like libc and python that I would have to figure out. Most languages have a C toolchain somewhere in their dependency tree.
  3. One of the principles behind Radiant is comprehensibility, ie. the idea that a single person should be able to fully understand each and every component, in this case the language and its compiler. The Rust toolchain is well over a million lines of code now, not counting LLVM which is in the tens of millions.
  4. In Radiant, the language is part of the OS, because program linking is done at load time, and programs are distributed as source code. This creates some pretty strict requirements on the compiler toolchain, due to it being deeply integrated with the rest of the system. We’d like to avoid having to fork the compiler in the future to make it play well with the OS.
  5. Radiant is designed around object-capability security – having this built into the language makes the whole system more coherent.
  6. Radiant is a unified system where every component is designed in accordance with the rest. Being able to shape the language and evolve it with the rest of the system will create a more cohesive, sensible system.

I wrote about some of the more philosophical reasons as well. Creating a new language is a lot of work, but we see it as a long term investment in the future of Radiant, and an opportunity to tailor it to our unique needs.

Last edited November 11, 2025
Alexis Sellier