Linus Torvalds Speaks on the the divide between Rust and C Linux developers an the future Linux. Will things like fragmentation among the open source community hurt the Linux Kernel? We’ll listen to the Creator of Linux.
For the full key note, checkout: Keynote: Linus Torvalds in Conversation with Dirk Hohndel
The Register’s summary: Torvalds weighs in on ‘nasty’ Rust vs C for Linux debate
Zig is “c”, but modern and safe.
The big selling points compared to Rust are:
The syntax is really close to the C language; any C programmer can pick up Zig really fast.
IMO Zig is a far better choice to go in the kernel than Rust.
Linux has tried to include CPP in it, and it failed.
So imagine if trying to fit in a C-like cousin failed, how far they are to fit an alien language like Rust…
For more information: https://ziglang.org/learn/why_zig_rust_d_cpp/
Zig is a very new and immature language. It won’t be kernel-ready for at l’East another 10 years.
That’s pretty suggestive. Rust syntax is pretty good. Postfix
try
is just better for example.Zig also uses special syntax for things like error and nullability instead of having them just be enums, making the language more complex and less flexible for no benefit.
Syntax is also not everything. Rust has extremely good error messages. Going through Zig’s learning documentation, half the error messages are unreadable because I have to scroll to see the actual error and data because it’s on the same line as the absolute path as the file were the error comes from
That’s a library design question, not a language question. Rust for Linux uses its own data collections that don’t perform hidden memory allocations instead of the ones from the standard library.
I don’t know, Rust is one of the most readablelangueage for me.
Is it still the case once you have a very large project and make use of comptime?
Not true. Because it doesn’t have the guardrails that rust has, you must build a mental model of where the guardrails should be so you don’t make mistakes. Arguably this is something that C maintainers already know how to do, but it’s also not something they do flawlessly from just looking at the bugs that regularly need to be fixed.
Being able to write code faster does not equate being able to write correct code faster.
Yes, because it’s basically C with some syntax sugar. Rust is a Generational change.