Earlier quoted context omitted.
I have the opposite feeling; I am liking Rust more and more and thinking most of the world's C code should be rewritten. It seems like a sweet spot of enforced memory safety, performance, and human/agent readability.
Rust and C++'s overcomplex syntax are a nightmare to maintain and set. Go should have been the C succesor long ago, at least for 64 bit machines. In the end It's from the same people of Unix/C/Plan9, so they know their flaws and reasons. For C++ like performance, sadly there's nothing close to Rust, but Zig and Nim can be close and good enough. Inb4 "mah objects", just use Java or C# and forget C++ forever for OOP pr…
Linux 0.11 rewritten in idiomatic Rust, boots in QEMU
131–140 of 147 posts
Re: Linux 0.11 rewritten in idiomatic Rust, boots in QEMU
#132Earlier quoted context omitted.
I guess ask the bun people why they translated from zig to rust. I think it was essentially because rust guarantees a set of bugs can't exist so over medium to long term timeframes you end up with less technical debt.
I know the answer, because they get their money from AI bros and it's a really good headline.
Re: Linux 0.11 rewritten in idiomatic Rust, boots in QEMU
#133Earlier quoted context omitted.
Rust does so a lot of abbreviation, though. fn, ptr, mut, etc.
It's ok to abbreviate things that are a) standardised, and b) used extremely frequently. Keywords are the best case here. Standard library functions are often ok (e.g. I wouldn't say renaming `memcpy` to `memory_copy` gains you much). The problem with many C programmers is they tend to abbreviate identifiers in code that they write, which have neither of those properties. It really slows down reading code. It's actua…
Re: Linux 0.11 rewritten in idiomatic Rust, boots in QEMU
#134Earlier quoted context omitted.
If that's the case, I don't really get the purpose of this. It's presumably not a useful system for day to day computing. The main reason I could see someone wanting to build this would be as an educational exercise, and using an LLM to do it completely fails at that.
The purpose of this project is probably to create something that can be pointed to while saying "This is evidence that the entire Linux kernel could be rewritten in Rust! So now you have to agree to rewrite the modern kernel!"
Re: Linux 0.11 rewritten in idiomatic Rust, boots in QEMU
#135Earlier quoted context omitted.
Truly, is that Rust's fault that sloppers are targeting it? Personally I'm becoming increasingly disillusioned with current LLMs' capabilities. All those recent high profile "rewrites" turned out to be transliterations to unsafe Rust. I could rewrite anything in unsafe Rust like right now, despite being a novice in the language.
> Truly, is that Rust's fault that sloppers are targeting it? The "Rewrite it in Rust!", all gas, no brakes zealotry predates LLM coding agents. When you dismiss the trade-offs with no consideration, and abide no questions about the possible cost of the "one true $X", you're practicing religion, not engineering. What has changed is the zealots no longer restricted to demanding that other people adapt their preferred…
Sorry you can't see a good thing for what it is.
> the language is a small part of a projects success
Perhaps, but it is still a part of a project's success. Many projects written in PHP or Ruby or something other sub-par language have succeeded in spite of that, of course. But plenty have failed that might otherwise have succeeded because of that too. For example Mercurial.
Re: Linux 0.11 rewritten in idiomatic Rust, boots in QEMU
#136Earlier quoted context omitted.
It's ok to abbreviate things that are a) standardised, and b) used extremely frequently. Keywords are the best case here. Standard library functions are often ok (e.g. I wouldn't say renaming `memcpy` to `memory_copy` gains you much). The problem with many C programmers is they tend to abbreviate identifiers in code that they write, which have neither of those properties. It really slows down reading code. It's actua…
What is the `tlul` part? Just a typo? I don't see it in your expansions.
Re: Linux 0.11 rewritten in idiomatic Rust, boots in QEMU
#137Earlier quoted context omitted.
> Truly, is that Rust's fault that sloppers are targeting it? The "Rewrite it in Rust!", all gas, no brakes zealotry predates LLM coding agents. When you dismiss the trade-offs with no consideration, and abide no questions about the possible cost of the "one true $X", you're practicing religion, not engineering. What has changed is the zealots no longer restricted to demanding that other people adapt their preferred…
Rewrite it in Rust isn't zealotry with no consideration of the trade-offs. It's simply that Rust is so much better than C that it's pretty much a no-brainer to rewrite C in Rust, or at least to attempt it. Sorry you can't see a good thing for what it is. > the language is a small part of a projects success Perhaps, but it is still a part of a project's success. Many projects written in PHP or Ruby or something other…
For my personal IT security, people pushing Rust made things worse not better as I do not get security updates for parts of my OS (Debian) anymore. Also the supply chain risks in the Rust ecosystem are worrying. So even if you go the overall topic security rather than just memory safety, the situation is not all that clear anymore.
It is, of course, in the best interest of Google and co., who are in the business of putting spyware and locked-down content-distribution systems in everybody's pocket, to fully focus on memory safety. Not so much for the free software community where supply chain, long-term maintenance, and the health of existing projects and communities are more important.
And just to preempt the argument "but the superior type system will make everything better". I also was super excited about type system in my youth. I get why people are exited about this. But with experience I realized this also fairly easy to overestimate the impact of this (as I did myself). I also think that Rust is somewhat poorly designed in this regard compared to what is possible here, and adopting it makes it harder to adopt truly better techniques.
Re: Linux 0.11 rewritten in idiomatic Rust, boots in QEMU
#138Re: Linux 0.11 rewritten in idiomatic Rust, boots in QEMU
#139Earlier quoted context omitted.
> Truly, is that Rust's fault that sloppers are targeting it? The "Rewrite it in Rust!", all gas, no brakes zealotry predates LLM coding agents. When you dismiss the trade-offs with no consideration, and abide no questions about the possible cost of the "one true $X", you're practicing religion, not engineering. What has changed is the zealots no longer restricted to demanding that other people adapt their preferred…
Rewrite it in Rust isn't zealotry with no consideration of the trade-offs. It's simply that Rust is so much better than C that it's pretty much a no-brainer to rewrite C in Rust, or at least to attempt it. Sorry you can't see a good thing for what it is. > the language is a small part of a projects success Perhaps, but it is still a part of a project's success. Many projects written in PHP or Ruby or something other…
Thank you for proving my point. To be clear: there are a lot of legitimate reasons to not rewrite a C projects in Rust, memory safety isn't a universal trump card that supercedes all other considerations in all projects; one has to be zealot to believe that.
I suspect the majority of Rust users are rational about when Rust is appropriate (or not), but they are not going around in random bug threads demanding rewrites of multi-decade projects.
Re: Linux 0.11 rewritten in idiomatic Rust, boots in QEMU
#140Earlier quoted context omitted.
If the readme is anything to go by, this doesn't look like it was written by hand. Codex if I were to guess. I wonder the coding agent "improved" the code. The readme hints at the prompt: > It keeps the original system's semantics — what it does — while rethinking how it's expressed: stronger types, clearer module boundaries, idiomatic abstractions everywhere. "idiomatic abstractions" would certainly bloat the line c…
If that's the case, I don't really get the purpose of this. It's presumably not a useful system for day to day computing. The main reason I could see someone wanting to build this would be as an educational exercise, and using an LLM to do it completely fails at that.