• 0 Posts
  • 38 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle
  • 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.










  • 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.






  • It’s mentioned in footnote 6:

    As an example, to make this work I’m assuming some kind of “true deref” trait that indicates that Deref yields a reference that remains valid even as the value being deref’d moves from place to place. We need a trait much like this for other reasons too.

    It would only work for references that are stable after the value they reference is moved. Think for example of a &str you get from a String.




  • GNOME devs never said that theming is incompatible (just “not supported”), and you’re still not explaining whay you mean with “incompatible” either. Managing window controls also doesn’t seem a requirement to be “compatible”, as the app still runs fine even with client side decorations (again, it just won’t fit visually with the rest of the system).

    And by the way, the problem is not theming per-se, but the fact that apps get themed by default, they inevitably break by default, and app developers are left to deal with that. Nobody ever tried to improve the situation so the solution they came up with is to have their apps always look the same.