Oxide is a personal project that takes inspiration from the principles discussed in “Notes on a Smaller Rust” and its follow-up, “Revisiting a ‘smaller Rust’”. It aims to explore a new language design that simplifies and optimizes the development process while inheriting Rust’s best qualities.
More langs for the God of Langs!
Kind of looks like an alternative universe where Rust really leaned into its initial Ruby influences. IMO the most interesting thing was kicked down the road, I’d like to see more of the plan for concurrency. Go’s concurrency (which it says they’re thinking of) kind of sucks for lots of things, like “do these tasks in parallel and give me the return values”. Go can do it with channels and all that, but Rayon’s
par_iter()
just magically makes it all work nicely.Initial implementation is written in pure-Rust using only 6 tokens. Impressive.
Send this to ThePrimeagen
I really like some things, like the more comprehensive macro system with compile-time reflection.
I hate other things, like implicit implementation of traits. It’s one of the features of Go that makes it really hard for me to read.
-
Not for me. It is clearly not trying to be a systems programming language. And that is why I’m interested in Rust. I work in hard realtime (day job) and do embedded as a hobby.
That rust is also useful higher up the stack is just a nice bonus to me which means I can keep using it when writing automation things that are too complex for a simple shell script (it has largely replaced python for this purpose for me now). -
Rust gained momentum because it filled a niche that was unoccupied (systems capable but safe and high level). Oxide seems to be aiming for an area already occupied by Rust from one side and things like Go from the other side. That rarely works out.
-
I like the string interp being first class. Last I checked in rust format is not actually a macro under the cover but a compiler builtin (or something to that effect). Looks neat, excited to see where it goes.