

I’m not sure if that opening sentence is fatuous or not. What errors in any industrial enterprise are not human in origin?
I’m not sure if that opening sentence is fatuous or not. What errors in any industrial enterprise are not human in origin?
That’s actually the idea. It’s not general precrime, it’s a decision support tool for predicting recidivism when deciding parole cases.
That doesn’t mean it’s not on decidedly shonky ground statistically speaking.
570 recorded homicides between March 2023 and 2024.
Data on “hundreds of thousands” of people can’t provide the distinguishing markers to even have a stab at this.
It can reliably predict when people are black, though.
Not just domain logic. The implementation logic is often weird too. Cobol systems have crash/restart behaviour and other obscure semantics that often end up being used in anger; it’s like using exceptions for control flow, but exceedingly obscure and unfortunately (from what I’ve seen of production cobol) a “common trick” in lots of real-world deployments.
Whilst it’s gotten a lot better in the -17 and -20 iterations, the fact that there was recently a doorstop book published solely on the subject of C++ initialisation semantics is pretty telling.
I really like what Herb Sutter’s doing around cppfront; I still wouldn’t use C++ unless I absolutely had to.
To add something to this: linux has avoided internal SPIs for a long time. It’s often lauded as one of the reasons it hasn’t ossified.
However, some subsystems have a huge amount of complexity and hidden constraint in how you correctly use them. Some of that may be inherent, but more of it will be accidental.
Wrapping type-erased shims around this that attempt to capture (some of) those semantics shines a light onto the problem. The effort raises good technical questions around whether the C layer can be improved. Where maintainers have approached that with an open mind, the results are positive for both C and Rust consumers. Difficult interfaces are a source of bugs; it’s always worth asking whether that difficulty is inherent or accidental.
You’re wrong, but it’s possible the article gave you that impression. Read the mailing-list thread.
It’s particularly worth reading Ted T’so’s contribution, which (considering his rude behaviour at the recent con led to a previous round of this nonsense) seems much more positive.
What’s in your mind does not coincide with the professional experience of Greg KH. You shoyld read what he had to say on the subject.
C++ is one if those languages where writing a library feels hugely different from using it. Boost is a case in point here: there are brilliant peiple behind it, but (error messages aside) the ergonomics of using thise libs in an application are usually pretty good.
(Scala felt similar to me. There are other languages where it feels much less like I’m swapping hats as I flip between parts of a codebase.)
“Maybe our friend doesn’t like monads.”
With massive OOO pipelines, what’s the alternative?