

No, it didn’t.
No, it didn’t.
The point of Java is to be a language for 90% of programmers. The vast majority of software development is not sexy, doesn’t require a PhD. Java was intended to be a commoditising language and in that it succeeded wildly.
Accept all, one click. Accept only necessary: typically involves turning somersaults.
The ruling is about the latter.
Yeah, I think they were thinking of a barrel-roll.
With massive OOO pipelines, what’s the alternative?
What precisely is your interpretation of Falkner’s assertion that trans people should lobby for a “third place”?
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.
And as for your specific question: typechecked code doesn’t get to production with a type error; it won’t compile. There’s a common phrase, “left-shifting errors”. It means catching bugs as early in the development cycle as possible. In terms of things like developer time (and patience), it’s far more cost-effective to do so.
I worked on OpenStack back in the day: millions of lines of untyped Python.
Let’s say you’ve got an X509 certificate. You know you can probably pull the subject out of it - how? Were I using Java (for instance), the types would guide my IDE and make the whole thing discoverable. The prevalent wisdom at the time was that the repl was your friend. “Simply” instantiate an object in the repl then poke at it a bit.
And it’s not just that kind of usability barrier. “Where is this used?” is a fantastic IDE tool for rapid code comprehension. It’s essentially impossible to answer for a large Python codebase.
Don’t get me wrong: python is still a great go-to tool for glue and handy cli tools. For large software projects, the absence of type enforcement is a major impediment to navigation, comprehension and speed of iteration.
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.
Wait until you hear why Cambridge exists.
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.
Some of the GoF patterns over-emphasise inheritance, but by-and-large, you don’t build large systems without either using or rediscovering software patterns, whether they’re OO, FP, or what-have-you.