← Back to context

Comment by thunderfork

9 days ago

Tools can enable diligence, and tools can discourage negligence. There's an all-or-nothing fallacy at work in the suggestion that tools must be perfect at both of these things to be useful in advancing the craft.

A great deal of Rust code need not ever involve the unsafe block, and in these cases there is no great temptation to stray off this path. This is pretty good, imo.

> A great deal of Rust code need not ever involve the unsafe block, and in these cases there is no great temptation to stray off this path

Rust was an attempt to have the compiler manage memory, but they couldn't crack it, so they had to just push all the failures to conquer c style UB under rusts unsafe keyword...

Good codebases already do what rust is doing with the borrow checker, it's not rocket science.

There's a serious argument for cherry picking rusts good parts and Retrofitting them into a more entrenched language.

  • >Good codebases already do what rust is doing with the borrow checker, it's not rocket science.

    Rust allows you to achieve with syntax what these good codebases achieve through diligence. You're right that it isn't rocket science, but it's demonstrably challenging, given that plenty of people get it wrong.

    People are certainly trying to bring more safety to existing languages (in various ways), and that's only a good thing.

    • > Rust allows you to achieve with syntax what these good codebases achieve through diligence

      Rustaeceans often play this card... What you should really say is safe rust achieves it through syntax, yet as a systems language you will need to invoke unsafe rust, which by definition is not "memory safe". And memory unsafe is bad right? So bad it's worth changing the language to avoid it.... Yet rust doesnt avoid it?

      I'm just not as impressed by that as you are

      1 reply →