Slide with text: “Rust teams at Google are as productive as ones using Go, and more than twice as productive as teams using C++.”

In small print it says the data is collected over 2022 and 2023.

  • M500@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 months ago

    That’s pretty cool. I’m not advanced enough to really understand all the ways rust is better but I read nothing but good things about it. It seems pretty universally loved.

    • orclev@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      7 months ago

      Basically modern language with modern tooling. It’s what C++ would look like if it had been designed today. The big thing though is the abstraction of ownership and lifetimes which took C++ ideas of scopes, smart pointers, and destructors and polished them into something much more powerful. Simply put it’s possible to design APIs in Rust that are literally impossible to express in any other language, and that’s a big deal.

      Added on top of that is a modern dependency management system that is severely needed in languages like C and C++, and a very powerful meta programming system that enables compile time code generation and feature selection that’s much safer and powerful than C and C++ fairly primitive pre-processor (although C++ STL does come close).

      • TrickDacy@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        7 months ago

        it’s possible to design APIs in Rust that are literally impossible to express in any other language

        This sort of violates what I’ve always heard about computer science. I’ve always heard logic is logic.

        • orclev@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          7 months ago

          Hmm, yes and no. You can express a program that does anything in any language, but API design is as much about what can’t be expressed (with that API) as what can. A well designed API lets you do the things that are desirable while making it impossible to do things that aren’t. You can of course bypass APIs to do anything the language allows, even in Rust if you break out the unsafe blocks and functions there’s pretty much nothing you can’t bypass with enough effort, but you very much have to set out to not use the API to do that.

          • pooberbee (any)@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            7 months ago

            I think your quantifier of “any other language” is the issue. There are certainly languages with far more powerful type systems than Rust, such as Coq or Lean.