• 0 Posts
  • 4 Comments
Joined 5 days ago
cake
Cake day: December 16th, 2024

help-circle
  • esa@discuss.tchncs.detolinuxmemes@lemmy.worldLinux and Chill
    link
    fedilink
    arrow-up
    3
    arrow-down
    1
    ·
    2 days ago

    Yeah, that’s the correctness focus. Some people dislike it as a straitjacket, some even take it as a personal insult because they see it as a skill issue. They, the good devs, shouldn’t be held back like that (spoiler: they aren’t as good as they think they are).

    Personally I like that aspect of Rust, but I also write Python with a typechecker and a loong list of enabled lints in ruff. I can get the happy path done without it, but having just the happy path often isn’t good enough.

    Enforced correctness helps a lot with confidence for those of us who know we sometimes make bad assumptions or forget some nuance or detail. But it will be absolutely infuriating for people who can’t stand being told they made an error, even one of omission.


  • Still remains to be seen if a potential rust ABI can avoid becoming a chain to the wall the way the C++ ABI seems to have become. When a lot of C++ers apparently agree with “I’m tired of paying for an ABI stability I’m not using” it’s not so clear it would really be a boon to Rust.

    That said no_std appears to be what people go to for the lean Rust.

    And a lot of us are happy not having to juggle shared dependencies, but instead having somewhat fat but self-contained binaries. It’s part of the draw of Go too; fat binaries come up as a way to avoid managing e.g. Python dependencies across OS-es. With Rust and Go you can build just one binary per architecture/libc and be done with it.


  • The serious answer here likely has several components:

    1. Some people and businesses have invested a lot in languages that governments are now trying to deprecate. When someone is told that their assets may be stranding, and please move on to $NEWTHING, they’re likely to get … grumpy. Both they and the government may be correct here, even if they’re at odds—they have different scopes and concerns.
    2. Differing values. See e.g. Cantrill’s “Platform as a reflection of values”.
    • Rust highly values correctness, which will feel like a straitjacket to a lot of people.
    • It also moves as much error detection as it can to the compilation stage, which won’t sit well with people who want to get something out the door ASAP and then find the bugs as they happen.
    • So it also encourages tackling complexity early rather than kicking the can down the road, which again isn’t to everyone’s preference.