Originally posted by uid313
View Post
3K Lines Of New Rust Infrastructure Code Head Into Linux 6.13
Collapse
X
-
Originally posted by ssokolow View Post
Funny enough, the overwhelming majority of people I see pointing to formal specification are C or C++ programmers arguing in bad faith because they see it as a threat to the perceived value of the skills they've tied their sense of self-worth to and just want to put roadblocks in the way.
Now, Rust getting specified to a level that C and C++ are not and never will never be because of politics between the various implementers? Yes, I'm all for that... but don't throw stones from glass houses swiss-cheese'd with holes labelled "implementation defined".
...especially when what the Linux kernel is currently written in (GNU C11 plus reliance on various GCC-specific ANSI C "implementation defined" decisions that Clang copied) isn't formally specified either.
Today it's expected that compilers would be open source and free (speech and beer), and Rust is open source and free. There is no risk of vendor lock in and the requirement for standardisation is moot. In fact, not only the fact of everyone always using the same compiler makes things easier and more interoperable, should someone hit a roadblock with rustc, in many cases it's actually easier to fix rustc than trying to move a multi-million LOC project to a hypothetical different compiler.
Comment
-
-
Originally posted by Phoronos View Post
"Civilised" is british, very few people use it.
Comment
-
-
Originally posted by ssokolow View Post
Standards don't magically override human and/or corporate behaviour... but they do increase the risk of bureaucratic tarpits and cliques. (Plus, given the Rust v1.0 Stability Promise, the likely outcome is "Sorry, your standard may say X, but ten times as many crates would break if we stopped doing behaviour Y, so your standard is wrong"... which is why Rust prioritized a regression suite and a bot for running tests against large swaths of crates.io over a standard.)
For reference: The Rust Stability promise.
I think we might agree that a formal specification, in the long run, could well be helpful.
Stability is indeed, wonderful, but only as long as the functionality that is stable is sufficient for the needs of people using the language - otherwise you end up with the situation described in the Stability Promise blog post:
First, as the web has shown numerous times, merely advertising instability doesn't work. Once features are in wide use it is very hard to change them -- and once features are available at all, it is very hard to prevent them from being used. Mechanisms like "vendor prefixes" on the web that were meant to support experimentation instead led to de facto standardization.
Comment
-
-
Originally posted by Old Grouch View PostThere's obviously a tension between what 'real world' users of a language want and what more academic/bureaucratic committee types might argue 'should' be in the language. If Rust finds a more useful way of managing that situation, then I will be very happy. Getting groups of people, each with their own agenda, to cooperate on things for long periods is hard. Constructive, insightful, and practical new thinking on how to do this is always welcome
TL;DR: The Rust team's "the next six months" plan is prioritizing stabilization for the nightly features the Rust support in the kernel currently depends on.
Comment
-
-
Originally posted by Old Grouch View Post
A (formal) specification and standard validation suite would be a good thing to have. The same would apply to any language used for (kernel) programming, and saying that Rust lacks a formal specification is not meant (by me) to imply that C (or C++) does.
Comment
-
-
Originally posted by jacob View PostActually most people use it: the whole of india (> 1 billion people), plus everyone from a non-English speaking country who learned English at school. They virtually always teach British English, not American English.
But as of today, schools teach more and more american english and in the universities, it is american english which is mostly used.
Comment
-
-
Originally posted by ssokolow View Post
Exactly why I don't want Rust to have a standard in the mould of C or C++. Have you read about the state of the people steering C++? It's the worst "my idea is correct by definition, regardless of implementability or technical merits" clique you've ever heard of. Think "mean high school girl politics" but they're old men.
...plus, people really seem to have a skewed perception of what "having a standard" actually means for C or C++. People don't write ANSI C. They pick a compiler per platform they want to support (two if you're lucky) and write to the extensions that compiler offers because C and C++ as standardized are too incomplete for real-world use. That's what the Linux kernel does with GCC's "GNU C".
...and there are a ton of C compilers that just implement what they want and don't care.
I'm reminded of this quote:
Standards don't magically override human and/or corporate behaviour... but they do increase the risk of bureaucratic tarpits and cliques. (Plus, given the Rust v1.0 Stability Promise, the likely outcome is "Sorry, your standard may say X, but ten times as many crates would break if we stopped doing behaviour Y, so your standard is wrong"... which is why Rust prioritized a regression suite and a bot for running tests against large swaths of crates.io over a standard.)
Don't ask me how I know.
Comment
-
Comment