News for hackers. Stuff that matters.
Re:Systems Languages: An Experience Report by garmaine on Friday July 06, 2018 @03:51PM (#17474578)
False dichotomy -- there are always more than two sides to any issue. People find themselves fighting with the borrow checker because their mental model of what they're writing is not what Rust is interpreting. This is probably indicative of two things: (1) their mental model is incorrect in some ways, and (2) Rust's semantics don't map that well onto how we think about systems programming problems. If satisfying the borrow checker makes you think "whoops, that was dumb" then you're in category 1. If it makes you think "aargh, how do I express this in a way Rust will accept?!?" then you're in category 2. With an ideal language category 2 wouldn't exist.
Re:Systems Languages: An Experience Report by AnimalMuppet on Friday July 06, 2018 @05:14PM (#17475179)
Of course, it's very easy to think you're in category 2 when you're really in category 1 but don't see how you're wrong...
Re:Systems Languages: An Experience Report by garmaine on Friday July 06, 2018 @05:29PM (#17475282)
But are all instances of category 2 actually category 1? That’s a strong claim.
Re:Systems Languages: An Experience Report by AnimalMuppet on Friday July 06, 2018 @06:20PM (#17475554)
It is, and it's a claim that I didn't make. But even if it were true, I think people won't believe that it's true, because there will be instances where they won't understand the borrow checker's reasoning.
Re:Systems Languages: An Experience Report by garmaine on Friday July 06, 2018 @06:42PM (#17475678)
I think you can understand what the borrow checker is doing and still think it is being too stringent.