4 ms·
I don't get it. Are we reading the same article? This article is so generic that it reads like vacuous truth to me. But I don't see their bitterness towards Rus
by raincole 4mo ago
I don't get it. Are we reading the same article? This article is so generic that it reads like vacuous truth to me. But I don't see their bitterness towards Rust (or anything, really. It's just vacuous.) from it. Is this person a famous anti-rust'er or something?
- bigyabai 4mo ago> It doesn’t matter that the language you use is memory-safe > nobody can trick me into mistaking lesser stars for my true destination The author seems to be in some level of denial around compile-time safety checks. They're right that runtime safety errors are an issue, but it feels wrong to discount compile time checkers when it can save a lot of yak shaving.
- mcdonje 4mo agoQuote the entire sentence. >It doesn’t matter that the language you use is memory-safe, if you didn’t design for correctness or have no process that will eventually lead you to fixing all bugs. It's also worth noting that they linked a post about how memory safety is literally a matter of life and death, so it seems like their point is that memory safety is one class of bug, and a compiler guarantee about it doesn't equate to a guarantee of correct, bugless, unexploitable code. Like, the linked author brought up that Khashoggi's wife's phone was hacked. Maybe that was due to a memory bug or some other kind of bug. Maybe the next journalist who gets hacked is a victim of a memory bug or some other kind of bug. But that linked post didn't take a holistic view of correctness, but went straight to, "Rust is safe. Rust saves lives." There's a logical error there that's being pointed out. If you really want to save lives, you need to eliminate exploits. Not just do a victory lap because your compiler ostensibly eliminates one class of them. The compiler doesn't catch all bugs. The compiler isn't the only tool for catching bugs. That's my reading of it, anyway. I think he has a point, and the Rust people do as well. I think it's wrong to portray him as bitter.
- kristoff_it 4mo agoThat is correct, this blog post is about understanding the priority of various subgoals and the ultimate goal (creating useful software). Memory-safety is important but overfitting on that subgoal, as I believe the memory-safety blog post is doing, won't make you create better software. If Rust helps you get all the way to correctness, then great, but that blog post was insane.
- bigyabai 4mo ago> The compiler doesn't catch all bugs. The compiler isn't the only tool for catching bugs. I acknowledged that in my prior comment. This person is letting perfect be the enemy of good, and I guarantee you that they aren't running their binaries through Valgrind and Ghidra to check the runtime safety after it's built. Exploits like Heartbleed get shipped because people abdicate their responsibility to write safe software. Shackling developers to dynamic analysis tools is not any better of a solution than using a memory-safe language to start. Rust is shaving a calf to avoid the whole yak.
- darkwater 4mo agoBut it links to this post https://joshlf.com/posts/memory-safety-life-and-death/ https://joshlf.com/posts/memory-safety-life-and-death/ Under a "it doesn't matter it's memory-safe if..."
- jiggawatts 4mo agoYou may be misinterpreting the intended meaning. It's like saying it doesn't matter if surgery is done another antiseptic conditions if the patient isn't also given a course of antibiotics during recovery. It's not an argument against safe practices, it's an argument for amending one kind of safety with others.
- abecedarius 4mo agoAntiseptics did make a big difference in the century before antibiotics...
- zuzululu 4mo agoIt's so bland and generic its bizarre like somebody is botting it. Weird that all the comments calling this out are getting flagged or downvoted.
- raincole 4mo agoWhat 'all the comments'? There aren't many comments in this thread. You mean this: https://news.ycombinator.com/item?id=48432736 https://news.ycombinator.com/item?id=48432736 ? I flagged it too. I think the flag is quite justified.
- zuzululu 4mo agooh I don't particularly care I'm just asking what is it about this article that is so worthy of being front page? I'm literally just calling out the content. I'm sorry for complaining.
- jackhalford 4mo agoIt’s getting attention because the subtext of the article is the zig vs AI ideological battle going on (and zig vs Rust somewhat on the backburner) Recent events AFAIU: - bun (bought by big AI) switching to Rust - zig team banning AI pull requests (because they want to review humans) - The cloud industry buying all coding tooling companies (uv, vite, bun) but zig being unbuyable If anybody from the zig core team is reading this: thank you and carry on the good work.
- zuzululu 4mo agoso im just getting caught up with zig is I have never really paid attention to it so far I'm not really getting zig and I see they banned AI ? seems like that is just going to attract anti-AI user base...not sure if that was a wise decision. also not really sure why anyone would migrate from Rust to Zig, it seems much less mature and unsure of the ROI there.
- gghh 4mo ago
- Ygg2 4mo agoI don't get how you dont't get. It links about memory safety (with a link towards an extremely biased article in Rust's favor) and a link to design to correctness (that leads to Zig project). There is a lot to dislike about this paragraph: It doesn’t matter that the language you use is memory-safe, if you didn’t design for correctness or have no process that will eventually lead you to fixing all bugs. Hang on. If I want to prevent all bugs, shouldn't memory safe make your correctness much easier to achieve? And what is this about fixing all bugs? You mean proofs? The stuff that Zig doesn't aim to do? And no, asserts don't fix all bugs, they just guarantee some of your invariants are held at best, used in test at worst.
- n42 4mo agoNot if choosing statically checked memory safety sacrifices for correctness where it is a local optimum
- Ygg2 4mo agoIf you sacrifice memory safety for correctness, that just means it's not correct. If safety is crucial, it must be safe under all inputs, and if there are data races. It's a bit like saying, "Yeah, our system is safe, but if there are two threads racing or use after free somewhere, then all bets are off."
- n42 4mo agoyou do not sacrifice memory safety. you sacrifice a compiler ensuring that code is memory safe by it enforcing one quite opinionated approach to it: RAII and lifetime analysis. you seem to think there is one path to memory safety. there is not. unsurprisingly, some programmers may need different tools when working with a different set of requirements.
- Ygg2 4mo agoIf you're using Zig to write correct by design code you do. Or at least you have to add memory safety as another extra step on your road to correct by design. I'm aware of paths to memory safety, but they boil down to: pervasive GC, annoying compiler, and praying you got it right. If you write your proof in GC language than translate it to C, that's just a mix of pervasive GC and praying.
- randypewick 4mo agoSorry I did not mean this as "this article is just picking on /ranting about Rust here". I don't think the author is! I meant as "if you want to state a general truth, why would you pick a specific language as bad example?". In general, the article is ok-ish: it makes sense to think about the correctness (whatever that means... correct according to whom?), about the bugs (according to what specs?), the users (according to what use cases?). This is ill-defined and I don't like this framing. But even assuming I like the concept, why would the author say those things about rust specifically? This seems a bit like picking to me. Kind of not very honest, maybe? I don't know or follow the author, just stumbled on this page because a colleague mentioned it, I don't know if there is a history of anti-rust'er or something, I just found something weird and sus.