News for hackers. Stuff that matters.
Re:The Inevitability of the Borrow Checker by brokencode on Friday February 07, 2025 @06:05PM (#42978539)
How is it knowing to panic if it isn’t checking? It seems like I am paying the cost of doing the checking either way, at least in terms of performance. So it should give me the ability to handle the error somehow.

As a C# and Typescript developer primarily, this concept of killing the whole program due to a bug anywhere in any part of the code is very foreign to me.

I’d expect that to only happen if you ran out of memory, had a hardware failure, or other such catastrophic error. To me, dividing by zero is a problem, but not worse than pretty much any other type of logical error that doesn’t panic.

Re:The Inevitability of the Borrow Checker by paulddraper on Friday February 07, 2025 @06:40PM (#42978781)
> killing the whole program due to a bug anywhere in any part of the code is very foreign to me.

But getting the wrong answer due to a bug anywhere in any part of the code is not?

Re:The Inevitability of the Borrow Checker by brokencode on Friday February 07, 2025 @07:31PM (#42979133)
Programs have all kinds of bugs for all kinds of reasons. That’s why you need unit testing, functional testing, performance testing, usability testing, accessibility testing, etc.

Why single out just a few types of bugs to crash the whole program? Let me catch it and decide what to do.

If it’s in a single request to my web server, I’d like that single request return an error code. I would not like all other concurrent requests for all other users to fail as well.

Re:The Inevitability of the Borrow Checker by ludwik on Friday February 07, 2025 @07:00PM (#42978922)
Allowing you to catch and handle an exception is not the same as silently returning a wrong answer.
Re:The Inevitability of the Borrow Checker by caspper69 on Friday February 07, 2025 @07:22PM (#42979075)
It seems to me that exceptions have a bad rep.

Complaints range from too slow to hidden control flow to just not liking them.

I absolutely see the benefit in application code, otherwise you're error checking every function call.

On the other hand, I completely understand not using such a mechanism in kernel and driver code.

But Rust has decided against exceptions (which I actually believe were part of the original vision way back when, but please don't quote me), so now there's panics.

Everything is a tradeoff at some level.

Re:The Inevitability of the Borrow Checker by paulddraper on Friday February 07, 2025 @11:46PM (#42980461)
Yes, the wrong answer is terrifying