4 ms·
It's not a problem in that you can make your code more awkward to work around it, but it's still a problem.
by braveo 10y ago
It's not a problem in that you can make your code more awkward to work around it, but it's still a problem.
- Manishearth 10y agoNo, you misunderstand what I'm saying, I'm saying that a lot of these issues don't crop up in the first place -- because you've structured your code a different way -- not an awkward way, just different (more idiomatic) -- once you have some experience with Rust. Some of these problems persist as awkwardness in even idiomatic code. Most go away. I write Rust code every day, and I've seen or written borrowck-induced awkward Rust code maybe twice this month. All of this is not to say that it isn't a problem we should be fixing -- it is and we are. But it's less of an annoyance in everyday Rust programming than one initially gets the impression it will be.
- braveo 10y ago> I write Rust code every day, and I've seen or written borrowck-induced awkward Rust code maybe twice this month. Which is exactly what I was describing, why are you continuing to argue against the point?
- Manishearth 10y agoTwice amongst the thousands of lines of code I've read this month is nothing. There are many other sources of awkwardness that trump this, much like any any other code in any other language will have awkwardness in places when you scale up to that level.
- braveo 10y agoSo just admit that it should be better and will be once the checker is improved, stop arguing about it. And please stop trying so hard to imply the problem is with the developer.
- Manishearth 10y agoAre you serious? I have said that it should be improved from the get-go. Every comment of mine above says that. I'm not implying that the problem is with the developer. I strongly feel that this is something we should fix. I strongly feel that programmers -- new or otherwise -- shouldn't have to deal with this. I've said all this multiple times, go back and read my comments.. You're the one arguing the same point over and over. I'm just pointing out that with some experience it ceases to be a problem. My point is simply this: This is not a problem that will plague you once you've been programming Rust for a while, so it's not one of those persistent annoyances that will stick with you no matter how much you program in a language. I'm only making that distinction. That it's not that bad. It's bad. We're fixing it. It's not the developer's fault. But neither is it a problem that will always plague you. It goes away as you start writing more idiomatic code. That should not be necessary, agreed, and we should fix that, but it is true. I said as much in https://news.ycombinator.com/item?id=13415585 https://news.ycombinator.com/item?id=13415585 I'm starting to feel you're not commenting in good faith here. I'm not going to repeat the same thing over and over.
- braveo 10y ago> I'm starting to feel you're not commenting in good faith here. I'm not going to repeat the same thing over and over. You claim it's not the developers issue all the while claiming the problem goes away once you get more experienced with Rust (hint: that means it's a developer issue). What you really mean is that this issue affects people's non-local code design and that people will eventually get enough experience to head off the issues before they crop up. What I'm saying, and what others have said, is that's a problem with rust and it needs to be fixed so it stops affecting such design. I have found myself rewriting entire functions to get rid of awkwardness due to this issue, and having the experience to write it that way the first time doesn't mean it isn't an issue, and it doesn't mean that it should be idiomatic rust. You keep trying to push this onto the developer, even while claiming you're not doing that.
- Manishearth 10y agoAnd I'm accepting that it needs to be fixed. I'm accepting that it is an issue. I've said that multiple times. This is _not_ shifting the blame to the developer. This is accepting the blame in the right place. The blame has been accepted. The rest of the point is not about blame (which has already been attributed), it's about hope. Having accepted the blame, I'm saying that one should not feel too discouraged by this issue because most people eventually pick up a programming style that's less prone to this. I'm not saying developers should have to. I'm not saying it's their fault that they haven't. It's totally our fault, and we should fix it. I'm just pointing out what usually happens for most folks learning Rust, so one should be optimistic about this problem and hopefully not be too discouraged by it :) You're interpreting "The developer can avoid this by improving X" as a way of shifting blame to the developer. That is not the intention. It is merely pointing out that the developer can avoid the problem; the ability to avoid the problem does not imply that they are to be blamed for it. It's a comment to instil optimism about the issue. The blame for the issue has already been attributed. I don't disagree that this is a problem with Rust. I don't disagree that Rust should fix it. It's being worked on. In the meantime, I'm advocating optimism for newcomers hitting this issue. One can do both.