[-] Giooschi@lemmy.world 19 points 1 day ago

Zig is "c", but modern and safe.

Zig is safer than C, but not on a level that is comparable to Rust, so it lacks its biggest selling point. Unfortunately just being a more modern language is not enough to sell it.

So imagine if trying to fit in a C-like cousin failed

C++ was not added to Linux because Linus Torvalds thought it was an horrible language, not because it was not possible to integrate in the kernel.

[-] Giooschi@lemmy.world 5 points 2 weeks ago

CEO bonuses should be awarded 10 years after their mandate

[-] Giooschi@lemmy.world 2 points 2 weeks ago

It also seems to require a GC though...

newxml is GC only, for simplicity sake.

[-] Giooschi@lemmy.world 3 points 2 weeks ago

Pointers are not guaranteed to be safe

So I guess they are forbidden in @safe mode?

but it's being replaced by something else instead

Do you know what is the replacement? I tried looking up DIP1000 but it only says "superceded" without mentioning by what.

This makes me wonder how ready D is for someone that wants to extensively use @safe though.

[-] Giooschi@lemmy.world 5 points 2 weeks ago

For local variables, one should use pointers, otherwise ref does references that are guaranteed to be valid to their lifetime, and thus have said limitations.

Should I take this to mean that pointers instead are not guaranteed to be valid, and thus are not memory safe?

[-] Giooschi@lemmy.world 15 points 2 weeks ago

Note that Rust does not "solve" memory management for you, it just checks whether yours is memory safe. Initially you might rely on the borrow checker for those checks, but as you become more and more used to Rust you'll start to anticipate it and write code that already safisfies it. So ultimately you'll still learn how to safely deal with memory management, just in a different way.

[-] Giooschi@lemmy.world 2 points 2 weeks ago

Rust for Linux used to be developed in parallel to the mainline Linux before Linus Torvalds merged support in the main tree.

[-] Giooschi@lemmy.world 7 points 2 weeks ago

"safe by default" can be done by starting your files with @safe:

Last time I heard about that it was much more limited than Rust, for example it even disallowed taking references to local variables. Has something changed since then?

[-] Giooschi@lemmy.world 22 points 2 weeks ago

But the one time I looked at a rust git repo I couldn't even find where the code to do a thing was.

IMO that tells more about how the project was organized and names things than the language used.

So I think probably, the best way IS to go the way linus did. Just go ahead and write a very basic working kernel in rust. If the project is popular it will gain momentum.

As the other commenter pointed out, there's Redox. The issue is that this completly disregards an incremental approach: you have to rewrite everything before it comes usable, you can't do it piece by piece. Currently the approach of Rust for Linux is not even to rewrite things, but to allow writing new drivers in Rust.

Trying to slowly adapt parts of the kernel to rust and then complain when long term C developers don't want to learn a new language in order to help isn't going to make many friends on that team.

Have you seen the conference video? That's not just refusal to learn a new language, it's open hostility. And it's not the only instance, for example Asahi Lina also reported unreasonable behaviour by some maintainers just because she wrote Rust code, even when Rust was not involved.

[-] Giooschi@lemmy.world 1 points 2 weeks ago

The reputation loss is probably worse than whatever fine they end up paying

Time to pull a Meta/X and change name

[-] Giooschi@lemmy.world 10 points 2 weeks ago

Unfortunately some things will IMO always remain a natural monopoly. For example good luck trying to convince developers to write their apps for all those different operating systems.

[-] Giooschi@lemmy.world 13 points 3 weeks ago

That doesn't really excuse its behavior in the video though.

view more: next ›

Giooschi

joined 1 year ago