• 1 Post
  • 788 Comments
Joined 3 years ago
cake
Cake day: September 24th, 2023

help-circle




  • Not exactly. It means that any of the code could lead to memory unsafety, but it’s still better than Zig or C because you still only have to read 5% of the code to debug/fix those issues, instead of 100%.

    5% is clearly better than 100%. Whatever else you think about this port you can’t argue against that. In fact I can prove that it’s better.

    1. Does Rust’s memory safety design improve memory safety? Yes, this is proven by experience (e.g. see Google’s blog posts).

    2. Does “normal” (not slop) Rust code rely on some unsafe? Yes. All Rust code must use some unsafe because it’s used in the standard library, and even if you ignore that (there is an effort led by Amazon to formally verify it), it’s usual for Rust projects to use at least some unsafe. Let’s say 0.1% of lines.

    3. So 0.1% unsafe is clearly better than 100%. Is it possible for 0.1% unsafe to be better than 100%, but somehow 5% isn’t? That would require things to be non-monotonic which is completely implausible.





  • It doesn’t mean you made the wrong decision. Changing the names has a potential cost - you break something (this is especially risky for environment variables which have insanely global scope, no static type checking, etc.).

    Not changing the names has a potential cost too - causing confusion in future, wasted time, or even bugs due to the increased chance of mistakes.

    I’m currently leaving a company where they almost never clean up their messes. Tons of old unused code is just left in the repo. Causes huge wastes of time.

    Don’t underestimate the potential cost of not keeping things orderly. There was a famous case (Knight Capital) caused by not cleaning up an old unused CLI flag and it cost them $440m and destroyed the company.





  • Well I disagree. If you create a popular project, and then are a complete dick about reasonable requests, then that seems like an immoral thing to do to me.

    Of course you’re allowed to say “sorry I don’t have time to work on this any more”, or “I don’t think this feature belongs in this project” or whatever. Totally fine. But there are still behaviours that IMO are not ok. For example if Homebrew decided to inject donation request code into every package it installs. Or if ffmpeg added code that detected porn and refused to decode it.

    “BuT iTs FrEe! They can legally do what they like!” Sure, but it still makes them a dick.