Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)B
Posts
2
Comments
273
Joined
3 yr. ago

  • I wrote a longer reply with links, but somehow it didn't actually post; so this will be shorter and unsourced. Sorry about that.

    There already was a discussion, over the course of several years, about whether to add Rust to the kernel. Linus merged rust/kernel into the mainline in 2022, and it was released in Linux 6.1. The patch that Hellwig opposed did not introduce Rust, it just added more Rust.

    Hellwig also made it pretty clear that he wasn't open to discussion. If you read the thread, there were numerous attempts to "talk things over."

    You may be right that Marcan's posts on Mastodon added nothing productive, though I honestly think there's some value in sharing behavior like Hellwig's with the broader programming community. But his posts in the actual mailing list seem pretty sensible, albeit provocatively worded.

    Also, in case you didn't know, similar behavior (to Hellwig's) led the primary Rust for Linux maintainer, Wedson Almeida Filho, to step down back in August. Marcan is correct that the anti-R4L maintainers are successfully demoralizing the R4L people.

  • it's old man screaming at cloud

    Not exactly -- part of the point of that idiom is that the old man is powerless, and the cloud ignores him. But Hellwig is using his authority as a maintainer to make things more difficult for R4L with his "explicit NACK".

    this drama Martin is doing in social media is pretty much pointless.

    Well, maybe, and if you haven't seen it already, Linus chastised him for that. Several people have spoken up to say that Martin has done this sort of thing before.

    But on the other hand, arguably it is important for people who don't read the Linux kernel mailing list to hear when things like this happen; and if Martin hadn't posted about it, how would we have known about it? Would The Register have written the summary that they did?

    Martin isn’t even relevant! He’s just for the popcorn, like the rest of us! Free kernel development popcorn!

    I'm not sure why he phrased things that way, because he was a maintainer of ARM/APPLE, which relies on R4L, until he decided to step down following Linus's reprimand. So no, he wasn't just an outside observer.

    ...do those changes proposed by the project affect the stable branch now?

    Not sure which changes you mean, exactly, but the rust/kernel folder in the patch set does indeed already exist in the stable branch.

  • Eh, he also said "While not my favourite language it's definitively one of the best new ones and I encourage people to use it for new projects where it fits."

  • But...that's exactly what's happening. Rust is already in the kernel, with both Linus's and GKH's approval. CH is trying to singlehandedly reject any use of Rust in any part of the kernel where he has maintainer status. That's pretty specific to R4L.

  • Christoph Hellwig isn't criticizing Rust the language, and Hector Martin isn't claiming that he is. This is about a project, Rust for Linux, that has been endorsed by both Linus and GKH, and one maintainer personally attempting to stop it from moving forward.

  • I didn't use the word "personal", but it's inherently somewhat personal in that it's one person trying to fight back against a decision that Linus and GKH have both endorsed (to put Rust in the kernel). "Crusade" is strong wording, but so is "I will do anything I can to stop this." That's far beyond simply "prioritizing [other] things."

  • Hector Martin isn't claiming that Hellwig's crusade is against Rust, but against R4L. The problem is that the R4L project has always been about Rust in the kernel. "Don't bring new languages into the kernel" is a crusade against R4L.

  • Do you take this sentence seriously, or not?

    I will do everything I can do to stop this.

    As far as I can tell, "this" here refers to literally any Rust code that isn't constrained within a specific driver. That does indeed seem like a full-on attempt to stop the R4L project entirely.

    He does appear to have a real technical concern regarding maintainability.

    "Appear" is doing some heavy lifting there. Opponents of the R4L project always couch their objections in technical concerns. For what it's worth, I can't actually find any concerns of merit or substance in that particular thread, although navigating mailing list threads is honestly pretty error-prone, so I may have missed it.

  • Unless you work for the committee or for ISO somehow, then I don't think that really follows. C++ and JavaScript were both used in production for decades before they had standards, and the dissolution of the standards committee wouldn't cause compiler vendors to stop developing compilers.

  • Wait, which one leaves you unemployed?

  • In addition to not actually being correct, I don't think the information you've provided is particularly helpful in answering OP's question.

  • The first part is confusing what "middleware" means. Rather than "duplicating" functionality, it connects libraries (I'm guessing this is what you meant). But that has nothing to do with a language being compiled versus "directly executed", because compilation doesn't connect different services or libraries; it just transforms a higher-level description of execution into an executable binary. You could argue that an interpreter or managed runtime is a form of "middleware" between interpreted code and the operating system, but middleware typically doesn't describe anything so critical to a piece of software that the software can't run without it, so even that isn't really a correct use of the term.

    The second part is just...completely wrong. Lisp, Fortran, and other high-level languages predate terminal shells; C obviously predates the shell because most shells are written in C. "Most original code" is in an actual systems language like C.

    (As a side note, Python wasn't the first scripting language, and it didn't become popular very quickly. Perl and Tcl preceded it; Lua, php, and R were invented later but grew in popularity much earlier.)

  • Pretty much all languages are middleware, and most of the original code was shell/bash.

    What? I genuinely do not know what you mean by this.

  • Yeah, I was particularly glad to see the change in loop variable semantics become a stable part of the language. That was a terrible footgun.

    There are other things I dislike about Go, but I do think it's improving while maintaining its better qualities, which is no small feat.

  • It is similar to old error codes, but I feel that this makes one always have to be mindful of error handling and the non happy path

    Technically you need a separate linter (errcheck) to ensure you don't just ignore errors. This is...not great. (That should have been a compiler error.)

  • I agree that it's a "cop-out", but the issue it mitigates is not an individual one but a systemic one. We've made it very, very difficult for apps not to rely on environmental conditions that are effectively impossible to control without VMs or containerization. That's bad, but it's not fixable by asking all app developers to make their apps work in every platform and environment, because that's a Herculean task even for a single program. (Just look at all the compatibility work in a codebase that really does work everywhere, such as vim.)

  • I don't think it's fair to consider unsafe Rust such a small subset of the language that it requires calling it out as a separate thing from "Rust" in the title of an article. Unsafe constructs are necessary in the standard library and many crates, whether or not you use it in the code you actually write.

  • My point is that the claim in the comic and in other comments that this corrupts your repo or loses work simply isn't true.