• o11c@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        What you are missing, of course, is the Rc<Refcell<T>> that you have to stick everywhere to make a nontrivial Rust program. It’s like monads in Haskell, parentheses in lisp, verbosity in Java, or warnings in C - they’re the magic words you have to incant correctly to make things work in their weird paradigms.

      • RustySharp@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        The meme refers to the old adage “C lets you shoot yourself on the foot. C++ lets you shoot both feet and gives you a shotgun to do it” - referring to the how C allows you to perform memory-unsafe operations (causing corruption, or worse, security vulnerabilities), and C++'s complexity, potentially obscuring such unsafetyness.

        Rust’s memory safety tries to save you from doing (un)intentional bad stuff, by giving you compile-time errors. It’s also the bane of everyone so used to C/++'s ability to just pass around and modify whatever memory they want.