Linux

Rust and C Linux Divide? + BCacheFS Tools removed from Debian + HUGE Win for Kernel Panics..



Linus the creator of Linux doesn’t like this file system being in the kernel anymore.. BCacheFS Tools just got removed from Debian …

[ad_2]

source

Related Articles

48 Comments

  1. The dogmatic hubris of rust zealots never ceases to amaze. That blog post.. holy crap. The complete lack of self awareness is awesome.

    "You see, we Rust devs aren't just visionaries. That's too pedestrian a title for our greatness. We're _wayfarers_! And you, well you're that construction crew we speed by at 30mph over the construction zone speed limit every morning on our way to work to change the world.

    We recognize the importance of construction workers… "road builders", even as we ignore your basic safety as we fly by at 80mph. Our work is just more important. We are the future that you'll soon be tasked with building!

    So do get out of our way. We've got a world to change!"

  2. Use of the term "modern" is quickly becoming a euphemism for "repeating the mistakes of the past". These aren't modern development methods. They're just bad ones. If your filesystem can't survive a 7 year lifecycle deployment, it's useless in production. I have better things to do than babysit monthly breaking changes.

    Also, take a shot for every "Leenus". 😂

  3. Rust people: we want YOU to fix stuff when changes on the C side break our stuff.
    C devs: no. This was not what we were told when you wanted in.
    Rust people: you are big meanies! You are unfair! Rust is the best and only language. Rust is the future. You are all dumb!
    C devs: grow up.
    Rust people: that's it! I am going home! And post a long ass text for everyone to see that you are dumb meanies!

  4. really, the bcachefs folks just need to stick to module space until they get it right….

    As far as rust is concerned, no reason why you can't fork the kernel and refactor all the code you want.

  5. I may be totally wrong, but I think that if Rust developers instead of contributing to Linux focus on something like "Redox OS" and "do to Linux what Linux has done to UNIX", it will be not a tragedy at all. If they are confident Rust (and other memory-safe languages) is the way to go, let them do it – and let Linux continue developing its traditional way, it is quite good at it so far.

  6. I'm against Rust in the kernel for a couple of reason.

    First, to then build the kernel you need ALSO a Rust toolchain. What is the matter? For anyone like me that deals with embedded systems and knows the pain to get a working build toolchain that requires having the exact versions of each tool otherwise everything breaks the idea of having to deal ALSO with Rust, that evolves far more quickly than GCC, it's a recipe for a disaster. Platform also have their quirks, thus finding a toolchain that works it's not always easy, because you maybe need to compile with specific options for that specific CPU because it implements that instructions in their way, not everything is x86 or ARM!

    Secondly, Rust build times are too high. Again when working with embedded systems you have to compile the kernel again and again. Sure, you have a fast server, sure you have ccache (by the way, is there an equivalent of ccache for Rust?), sure you have distcc (again, for Rust?) but in the end it's slow. If the build time get even 10 minute higher, while developing and building hundreds of images it reduces your productivity a lot.

    Finally, rewriting any piece of code from language A to language B is always a risk. No matter that language A is not memory safe and with many defects, that code is tested on the field and runs on billions of machines every day. If you rewrite it in language B (Rust), even if you have a 0.01% change of introducing a bug, it would mean that in a project as big as the Linux kernel you introduce lots of bugs. This is the reason why banks still run COBOL programs written in the 80s, because it's a risk upgrading them to a more modern language, as it's to converting Linux code to Rust.

    And, by the way, Linux doesn't have a test suite that you can run on every update to test regression, because it's a kernel and has to deal with hardware, most of which no kernel developer even has, most of which is some sort of old esoteric device that is not even sold anymore, but that you still need to support because there are thousands of people using it. For that reason I think the best thing is touch as few things that you can.

    For the first problem in theory that would help a gcc frontend for Rust (they were developing it, I don't know if the project is still active), for the second one the problem is the language that is slow by design to compile since it has to do a ton of checks that C doesn't, and for the last one, I think there is no solution.

    Regardless, I think that Rust is a great language that has a big potential, in fact we are starting considering it in our company for userspace application whenever possibile (i.e. where there is a toolchain that supports the target), but surely not for the kernel.

  7. I’m with team C. Rust should behave exactly the same and use the exact same APIs as the C drivers. You don’t want different approaches in the same kernel! And you can’t just change roads that needs to be though over properly planned, because updating roads causes traffic jams and problems (always), you don’t want that in critical systems. I’d yiu want the latest and greatest build a new kernel. And soon you’ll be in the same mindset to not change your roads (or at least not too hastily).

    IBM never did that in the decades that OS/3XX exists and they too changed technologies. Stability and thus standard of doing things are the utmost importance of a kernel!
    And I see in the Rust devs, something I’ve seen with developers below the age of 40-45 and that’s properly designing, testing and implementing robust critical software having the vision and mindset to not break what is there; this is why modern software breaks so often MacOS, Windows but also Adobe and AutoDesk critical applicaties crash like a junky getting of a high. Critical software takes time and is tedious, and it seems to not be a thing anymore. And it irks me in this business, these days.

  8. As a developer, myself personally I want my operating systems to just work. If that means putting the code in c okie dokie if that means putting it in rust so be it. To be honest both are viable systems programming languages personally I know C myself; however, I have no issues with rust there's a lot of people who like to stick with what works. Also there are people who like to just do the new thing. Due to the polarization that's been happening in our society people have trouble agreeing on that to be frank a balance needs to be struck.

  9. I knew the whole Rust thing was gonna be a problem, just make another Kernel in Rust, don't try to mix it into the C Kernel or you're gonna have clashes by having two subsets of developers focused on different parts of the same project that they cannot mutually understand, it's problematic.
    I don't side with either camp, i merely acknowledge the issue and fully expected it from the start, which is why i didn't want Rust in Linux, it makes more sense if you start another Kernel as a fork and write that in Rust.

    Shoehorning Rust into the middle of the existing Kernel will always be problematic for various reasons, the same way adding any other build system and language would be

  10. I have some bias, so as usual take the comment as seriously you would take any comment on a YouTube video.

    But my point of view is that Rust is a newcomer language into the kernel, and should adapt to the existing environment rather than makes things more difficult for existing code. And maybe some maintainer are viewing rust code through a stricter lens because having a different toolchain to build the kernel is already making things more difficult than they are for a lot of existing developer.

    As per my experience as a user on the receiving end of a tool transition to rust, it makes my life more difficult, and because of some of the details of my setup, rust building tools cannot be easily found on my path. And I can rarely download pre built binary.

    Also as far as I know some part of the Rust community has been far more vocal into discouraging either wannabe or prominent Rust developer into making further contribution to the community.

  11. Sounds like Rust for Linux devs need to hard fork Linux. And that western governments should pass laws preventing operating systems developed using non-safe from being used by large corporations, militaries, critical industries or critical infrastructure with a deadline to transition in a decade or further away.

  12. The problem is that most of the devs in the linux kernel are C devs, not a surprise given the time spent

    Its a fundamental problem of "We've been doing this OUR way for years, why are you coming in and ruining our way of running things" that most big organizations sadly tend to become, and the kernel is no different, they have reached that point

    This is fundamentally not a C lang devs vs rust devs problem, this is a long-term maintainer vs new "junior" problem, where the old people are threatened by the change to their sanctuary

    Its a fully human thing, I've seen this so much in various companies its absolutely not about the language

    You could replace C with Golang devs and it would happen all the same

  13. I wrote software in rust professionaly, for two years.

    The only thing it convinced me of is that rust is not the way forward. It's an another strange side step of a language. Definitely usable for certain things, but I wouldn't use it for everything.

    Why it has such rabid followers, I don't really know, but I have a guess. It is obtuse, takes a long time to learn and often requires sacrifices to use. It makes people who went through that effort invested in it. It's like religions having many rules on behaviour – the more rules, the more likely it is to survive.

    Anyway, I do not believe shoving rust into the linux kernel was a good idea. And this is not from a technical perspective, but the fact that it leads to this kind of cultural clash. The tech might be good, but the culture around it is immature and heavily autistic.

  14. 12:43 I don't believe this is specifically for graphics subsystem crashes. Historically kernel panic messages just didn't work if a DRM driver was in use. They would only show on fbdev drivers and that was about it. There has been a lot of work recently on getting panic messages to show correctly on DRM in general as almost no one uses fbdev drivers at this point outside of early boot.

  15. I do think that rust in the kernel is good…but also, Linux has been C for a long time and it's not going to be easy to get rust in it, I feel like the rust devs might be moving a bit too quickly.

  16. as purist programmer, one is allow to only mix 2 languages assembly language and a high lelvel one , c and rust have no business comingling with each other, this elevate the complexity of thing,
    if Rust is that great as a programming language the should not have issue creating their 100% Rust kernel, instead they want to complain and blame the the original api for it issues,
    even a programming language change over time, software that look like frankensteing are terrible and too complex to understand seriously if they want Linux with rust they should start porting it now, but the language is immature and it was recommended by an overzealous idiot from the gonverment to make all software safe

  17. Rust developers frustrated? Yeah. f-Rust-ration, it's baked into the language. You can't just walk into a project and expect everything to change for you and around you, especially something like Linux. Honestly, Linus is the OG pathfinder. It seems kinda arrogant to come in thinking, you know the way, and everyone else must be wrong.

    You're never going to have a "safe" kernel. Rust is "safe" because it delegates unsafe, or just goes unsafe and is no longer safe, and now you have to be a guru in how the compiler optimizes code and the assumptions it makes. You're more unsafe at that point.

  18. The problem with the "just make a new kernel" is that if push comes to shove we might just see the death of Linux. A vast, *VAST*, amount of work is being done by corporate backed maintainers and the foundation itself gets most of its money that way. I think Linux will just get obsoleted if that is pushed for.

  19. Once I hear rust comunity is a bunch of narcissists that don't accept their cult language have problems. And from my personal experience, rust is about abstract EVERYTHING as raii paradigm. Under supposition their raii is conflicting with legacy huge amount of C, I suppose it's better for them to create their ideal hevean of abstraction from a clear slate. Let the better system win. I think rust is a very interesting language, and their idea can actually end up winning this natural selection.

  20. It kinda pisses me off that the C maintainers are being so petty. Like they don’t have to like Rust, but going out of there way to make the Rust maintainers lives difficult is just childish.

    Whenever I see people be petty and make others lives/jobs difficult it just screams jealousy to me. Like nobody is forcing them to learn Rust, and C has benefits over Rust and vice versa.

  21. Imagine inviting a homeless stranger into your house with the intention of giving them a chance to get on the road to success.

    It starts off well enough and looks promising as they have a shower, get some new clothes and good food into them

    After a few days you notice some subtle differences in how you and they approach things. It’s a great learning experience for everyone’s benefit

    After a few more weeks, you find that they are getting increasingly aggressive, and insult your “obsolete view of the world” whenever the chance arises

    Old friends of the guest start rocking up and taking residence in your remaining rooms .. this is good, it means your plan to help is having a big impact

    A couple of months later, you come home to find the interior of your house converted into a temple to the Mighty God Marduk – ruler of the 7 kingdoms!

    Your guests insists that YOU take the initiation rites, and swear allegiance to the Priests of Marduk

    They are only wanting to make the world a better place, and free it from the oppression that YOUR kind caused in the first place

    It’s for the common good. Convert now, or die by the spear of Marduk, useless infidel !

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button