

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.
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.
Nope. I can’t find that exact screen, but you can find registration for the webinar here: https://go.oracle.com/LP=130256#On-Demand-Webinars
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.
It’s not even actually that bad, at least not since January of 2020: https://stackoverflow.com/a/59687740/1858225
Huh. I had forgotten that git does actually create a file with the branch name. But it doesn’t actually screw up the .git
folder or lose your data when you try to do a rename like this; it just rejects the rename unless you also use the “force” option. This has been the case since at least January of 2020. But apparently it actually doesn’t always use a local file for branch names, so sometimes there’s a problem and sometimes there isn’t, which I guess is arguably worse than just having consistently-surprising behavior.
I honestly don’t even understand the joke. Case-insensitive file names cause problems, but what does that have to do with version control branch names?
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.”