![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png)
You’ve linked into it, but I was just going to point at the Git book: https://git-scm.com/book/en/v2
It’s an afternoon’s reading; it does an excellent job of giving you the right mental model - and a crib aheet of commands to navigate it.
You’ve linked into it, but I was just going to point at the Git book: https://git-scm.com/book/en/v2
It’s an afternoon’s reading; it does an excellent job of giving you the right mental model - and a crib aheet of commands to navigate it.
I have observed people taking Rust seriously. You need to reexamine your assumptions.
We have an evolved capability to short-circuit decisions with a rapid emotional evaluation. It means as a species we didn’t die out early [“that’s a lion; I’m a oerson; lions eat people ergo… Agh!” is not a sustainable strategy] - what’s amazing is that we can also apply it to elarned abstract things like an aestetic sense about programming languages. Such instincts aren’t always perfect, but they’re still worth paying attention to. I don’t see a reason not to express that in a blog post, but you can replace it with “this is unergonomic and in some cases imprecise” if you prefer.
That seems like quite a lot of booms.
It’s an adaption (using the term loosely) of the appendices of the LotR, which is all they have rights to.
FWIW I was trying to do something like this and ended up with pretty much what you describe - some custom shading to get everything working.
That seems like a non sequiteur. Did you watch the video? Did you hear what the presenter was asking for? Technical feedback on the API semantics they were describing. A heads-up if breaking changes to those APIs were about to land, so they can update bindings. They were bending over backwards to be accommodating. None of this is the entitled behaviour you describe.
It’s what C is for, too.
The point is that there may be cases already where the type system that rust provides its guarantees off the back of is insufficiently expressive. (I say “may be” because there are ingenious qays to use what it does provide, although nonobvious and not necessarily without cost.) If you’re using unsafe
then it’s just an uglier C. I don’t think anyone considers the current state of Rust’s type system to be the be-all and end-all of expressivity.
That’s an interesting notion (although it underestimates the effort, I think). Honestly, having machinery to write down contract semantics in a fashion amenable to automated proofs (meaning, does it type-check?) is massively promising; and I’m a dyed-in-the-wool C hacker. I would hope that the public exposure of this bad behaviour causes a few moments of self-reflection.
I suspect that attempting to chase a moving target of describing C apis with rust is just an avenue for burnout, unless there really is a mechanism for getting fixes back in the other direction, and professional respect flowing in both directions. That would be a massive shame, and an incredible missed opportunity.
What you describe would, indeed, be risible. Fortunately it’s merely histrionic twaddle.
There are some situations where I can see Rust’s type-ststem potentially being counterproductive. For instance, it may be valid to invert lock order in a chain of operations under some circumstances, and rust might prevent you from expressing that. I grew up with C (from the pre-ANSI days) and while lifetimes and ownership are things that good C devs care about, they are tacit - and the ability to play fast and loose when necessary is great.
The linux kernel is built on a foundation of these implicit semantics. Some of it is written down, some of it isn’t. I can see why asking “but what does this mean?” can lead to frustrating conversations and overly-qualified answers, but not everyone in that video was hostile to the prospect.
The thing here is that (even with things like the vfs interface), linux doesn’t have internal SPIs.
The friction here is that the rust devs want to write down the semantics in a formal fashion, and the C devs are used to a world where the semantics are implicit in the C code.
I thought the engagement in the video was the kind of useful feedback that was needed and asked for: “I’m not sure the semantics of this specific interface are precisely that,” which might have been out of place, but getting detail-focused feedback to an example is what you are going to have to expect from people who fit the role of VFS experts.
Ted was being an unconscionably rude fucker, but - diatribe aside - his process question is a reasonable one, although his solution “well you’re SOL” was poor, undiplomatic, and unhelpful.
No, the vast majority of linux developers are professionally employed to do it.
“Maybe our friend doesn’t like monads.”
Believe it. Of the eligible electorate, 20% cast a vote for Labour, who wound up with two thirds of the House.
That’s not how legal jurisdiction works in the EU. Member states are still sovereign; if you’re liable for something in France and you get off a plane in Germany then France still needs to ask Germany nicely, and sans an extraditable conviction nothing is likely to come of it.
He’s not smart enough. More like the Grand Negus.
So you’re a practiced expert and cannot understand how those who are not practiced experts can have trouble?
Led By Donkeys is about five years old. I don’t think that in that period there was a non-Tory government for them to mock, was there?
Ed Balls