Linked by subterrific on Mon 9th Jan 2017 22:25 UTC
OSNews, Generic OSes

Rux's goal is to become a safe general-purpose microkernel. It tries to take advantage of Rust's memory model - ownership and lifetime. While the kernel will be small, unsafe code should be kept minimal. This makes updating functionalities of the kernel hassle-free.

Rux uses a design that is similar to seL4. While there won't be formal verification in the short term, it tries to address some design issues of seL4, for example, capability allocation.

The code is very approachable for anyone interested in capability-based microkernel design.

Permalink for comment 639526
To read all comments associated with this story, please click here.
Member since:

I realize you are a C/C++ fan, and there was a time I was too.

I have spoken highly of Ada too. It is another language with roughly the same design goals as C++. Static, compile time typing. Zero cost abstractions. Backwards compatibility.

* I'm NOT a fan of the "old C" part of C++ (or modern C, for that matter), but I accept it and don't run off for greener pastures because it doesn't fit in with some ideology of extreme pureness.

However many problems with C/C++ are very widely recognized and understood, consequently some people look to new languages to solve them. The big players are motivated to work on new languages like D, swift, rust, go, etc, not because of fads, but because of systemic recurring problems they have experienced with their existing codebases.

You miss my point. At some point in the future, languages like D, Swift, Rust and Go will have systemic recurring problems with their existing codebases. At which point, it's obvious they'll leave for greener pastures.

We have already experienced this with the transition to Python 3 and Perl 6. Scheme 7.

Swift has already gone through its first round of complete breaking changes. And what does Swift even fix? Unlike Rust, it doesn't even have a reason to exist other than fancy syntax. And that is my point - it's the attitude of starting over again rather than do the real engineering work of designing past those features.

Stroustrup even humorously takes it in stride "the reason I take this mic back is to say that I don't disagree with that." to everyone's laughter.

You think I don't know Stroustrup's views on the matter. He's one of the biggest pushers, still, of modernizing C++ with better features and leaving old ones behind.

Unlike people who go around inventing Rust and Go, he stuck with C++, cruft and all.

And the people working with Ada are also committed to sticking with the whole language.

I enjoy taking about all languages, however in past discussions you seemed to take serious offense to any possibility that another language could have a single benefit over C++.

Don't mischaracterize it.

I simply was not convinced by your arguments and counter-examples in that discussion. You tried to make it sound like Rust does theorem proving for thread correctness, when in fact all it does is formalize and lock down ownership semantics. That's not taking offence.

what can I do so that we can have a friendly discussion even when rust comes up and we disagree? ;)

My point in this discussion is not about Rust vs C++. It's about what it takes for a language to become widespread enough to become as embedded as C and C++.

Languages will get big, bloated, and accrue cruft. No language is exempt. Until a language designer and community grows up and accepts this, and is willing to support the language with all its warts like Stroustrup does with C++ and the Ada guys with Ada (you could even say the same about HTML and Javascript, in a perverse way ;) ), their language is a fad language.

Maybe, and let's hope, Rust's designers and its community are mature enough to stick with Rust regardless of how much garbage it accrues over the years. If not, it will not get the hypercritical user mass to prevent the next GoSwiftRust from taking over and for the whole "we just need to get critical mass" game to start again, as it steals users from RustGoSwift and they lose their momentum. At least Rust does have a benefit in that it seems to be serious with zero cost abstractions. So at least it has a better chance of not having to pay for design mistakes. But Rust won't magically avoid paying for syntactical and semantical cruft.

Reply Parent Score: 2