• CanadaPlus@lemmy.sdf.org
    link
    fedilink
    arrow-up
    9
    ·
    1 year ago

    I’m pretty skeptical it could be as fast and safe as Rust without the added challenge. Like, even doing what Rust did was a big deal.

    • mundane_party@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      I could be wrong, but based on the Wikipedia article it seems like it’s more trying to be a python replacement than a rust/c++/Java/etc replacement. The big thing with rust is that it’s rules allow memory safety without a garbage collector, while unless I missed something it seems like nim just uses a garbage collector. Not that that’s necessarily some huge problem or anything, but you know, different purposes

    • potatoBoy@programming.dev
      link
      fedilink
      Afaraf
      arrow-up
      1
      ·
      11 months ago

      Can compile to C which then compiles using your favourite compiler. So it can operate at the speed of C

      And the new memory management system is similar to rusts system (and can be fully disabled if you want manual memory management)

      • CanadaPlus@lemmy.sdf.org
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        11 months ago

        Can compile to C which then compiles using your favourite compiler. So it can operate at the speed of C

        Technically, it all compiles to assembly, but Python is still a lot slower than C or Rust. Speed is lost along the way through those layers of abstraction.

        And the new memory management system is similar to rusts system (and can be fully disabled if you want manual memory management)

        So it doesn’t have a garbage collector? I’m going to have to actually look into this myself.

    • qaz@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      1 year ago

      I think it transpiles to C so theoretically it could be quite fast, but I doubt the generated C is as fast as manually written C or Rust.