This was now 17 years ago. C++ and Linus both have moved on since.
I don’t understand why they would even think about Rust when they won’t put in the work to fix their own internal code.
I lost track on them trying to fix the logic issue without fixing the logic issue.
Zig has already committed to that. After version 1.0.0.
Until then, the plan is very specifically to break anything if it improves the language.
What a shame. If only Bjarne had thought of making everyone understand and declare VTables explicitly to get access to the main language feature!
linux is done. it was driven by for-profit for way too long. not cpp nor rust would change the fact that skilled engineers respect their data and do not use linux, therefore they do not contribute to the codebase. why OBSD is not whining about c? they have skills to make it work. the fact that linux is considering a switch to rust only highlights the fact that they just dont have skilled hands interested in working with penguin mess. am i missing anything?
Ah, yes, the good ol’ “if you’re a skilled carpenter you can build a nice table even if the only tools you have are a kitchen knife and a hammer” argument. If this argument held any merit we’d all be using punch cards still.
Programming languages are tools that should aid the programmer, guide them towards the “right thing” to do and aiming the gun away from their feet. C not only does little to help, sometimes it even gives you autoaim locked on your foot.
This is kind of an outdated saying. Theres also another one about bad dancers and the floor. But both would barely fit here. Again, I see projects successfully using C without any complaints. How come? Another example, mitigating the lack of skilled hands, is Ethereum’s transitioning to Go. Why? Because all skilled hands would push to bitcoin instead of that trash. So to increase the contribution flow, they switched to a trendy lang. It makes sense—not many people know 100% of C. But there is plenty with full Go coverage. And they unlikely to ever recover from this transition. Again, look at OBSD—you think they are dumdums refusing to use proper tools? C is not the core issue—its greed-driven attitude. So moving to another tool would not fix anything in the long run.
OK, your ironclad arguments convinced me, let’s throw away 50 years of PL research and go back to writing C. If someone introduces a bug in the code base, it must be because they are dumb.
Its working great for OBSD, so why not??? They proving you everyday that this is as doable as breakfast. Maybe its time to utilize not just their software… Thou getting rid of greed-driven attitude is going to take way longer than 50 years and C replacement topic might be obsolete by the time humans would deserve nice things.
People generally don’t complain about their own choices. They much prefer to complain about other people’s choices.
Which seems to be the entire content of every one of these kernel development arguments. Some people enjoy that kind of thing, I’m not judging.
Look, I’m not being snarky, I’m really having trouble following your argument. The fact that a successful C project exists doesn’t prove that that’s the best way to write software. Another successful C project (more successful than OpenBSD, in many ways, especially by number of installs) is CURL, and even that is adding more Rust-based backends (e.g. 1, 2, 3). That doesn’t mean the CURL authors are greed-driven or dumb.
Thats a very weak perspective. Windows has way more installs than OBSD, but it would be a joke to call it a successful software. Successful sale position—definitely. But it is not written to work. Its written to make money (learned the hard way as a kid). CURL is not an operating system, so I am not able to include it in the topic properly.
My argument is not about C, its about for-profit operations. Linux is trying to fix a broken arm with some pills.
Yep, this sounds about right.
I think I see what you’re trying to say, but you’re explicitly making it about the language… I don’t see any progress in this discussion, we’re going around in circles, so let’s drop it.
I don’t think this is a bad idea to try to bring safer alternative to C, in the Operating System world, regardless of the motivation, I don’t think there is something bad about wanting to incorporate better tools. I love C it’s a great language, but you’d be hard press to find someone saying C is a perfect tool. Now I think that Rust getting into the kernel is probably because the “safety” aspect of it were very trendy and that big companies were really interested in increasing the safety and reliability of their infrastructure and they are pouring money left and right into Rust related initiatives which helped, combined with the fact that many engineers were really interested in Rust, this seems like a smart move to improve your system by bringing a lot of fresh motivated blood. Now last time I had checked they were only a few thousands line of Rust into the kernel so idk if it’s a big success, but I don’t believe this is bad to try to improve your kernel with better tools. It doesn’t really matter that some C projects are successful with C, that doesn’t negate the fact that better tools that attract motivated contributors is healthy for any project.
I have absolutely no relevant experience on the matter, but I do wonder what would happen if someone ported linux’s build process to zig and posted it to all your codebase.
Would it improve the compilation/cross-compilation scenario enough for the kernel community to embrace zig’s toolchain?
Somewhat off topic but has anyone thought about translating Minix into Zig? That seems much more feasible and the result will be educational. Such an effort would also allow us to brag that “the most popular OS in the world” has been ported to Zig
Define “working great”?
Comparatively, OpenBSD has a tiny number of installs–so not that. OpenBSD has a tiny number of contibutors–so not that. OpenBSD lags in performance. OpenBSD lags in ports. OpenBSD lags in features. OpenBSD lags in drivers. I can go on and on.
OpenBSD claims to be more secure. Possibly, but it’s also way less of a target. It could simply be that nobody cares enough to break it. Certainly, the OPNSense guys don’t find OpenBSD compelling enough to switch off of FreeBSD.
I would argue that on any measure, nothing about OpenBSD is “working great”. That having been said, I don’t think C is really contributing to that one way or another to the state of that.
The overarching problem for everybody is simply “kernel development is hard”. Full stop. Writing in C, Rust, C++, Zig, Ada or whatever has very little bearing on how to manage a TLB or deal with ACPI idiocies.
No programming language fixes the fact that high-end systems programming is dependent upon highly esoteric hardware knowledge that is hard won over many years. No programming langauge fixes the fact that something like the Linux kernel or display drivers are a boatload of code that requires lots of person-hours to write. etc.
They do not “claim” anything. Its just the number of CVEs in base install they are referring to. Numbers do not claim anything. Drivers? I had more driver hits on OBSD vs FBSD (Asus, both sound and video). Speed? Its not built for speed, its built for security. Ports and stuff? Well yea, its a tiny team! And this tiny team proves that one could make C work with no issues. You just need a proper dedication.
Yea it works great! It worked better on my Asus comparing to FBSD. What hw you used to run it?