In 20 years or so, if it turns out that all of the dire predictions were significantly overblown, would you at least have the courtesy to blush in embarrassment for the current alarmism?
32 karma · joined March 3, 2015
In 20 years or so, if it turns out that all of the dire predictions were significantly overblown, would you at least have the courtesy to blush in embarrassment for the current alarmism?
A x = b
A => QR # QR decomposition
Q R x = b
R x = Q' b # Q is inverted by transposing
x = backsubstitute(R, Q' b)
Q was the transpose of it's inverse, and so you don't get any rounding error when you transpose it. R didn't need to be inverted because it was in a form where back substitution lets you apply the inverse of R to be without needing the inverse of R.Unfortunately, it has lots of warts that have sent me crawling back to C++. Addressing the particular item you're talking about here, manually specifying lifetimes of objects is a cure that's worse than the disease. It's great when the compiler infers everything for you, but I'm never going to be able to explain the syntax or semantics of those ugly 'a marks to my coworkers who aren't interested in programming language theory.
Anyways, I've been tempted to write a full blog post listing all of my Rust complaints, but I figured it's better to just quietly let you guys enjoy your thing. However, whenever I see these advocacy posts from you and the other Rust honchos, I can't help but scream a little bit inside. It's really not as good as it could've been.
To be really specific: it's great that you got "zero-overhead memory-safety", but I can't even implement fundamental data structures without using unsafe blocks and lifetime annotations.
However, clearly the RMS propaganda machine has worked, and now the phrase has a new meaning to the new generation... So feel free to not read anything that might contradict with your point of view.