• davidgro@lemmy.world
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    1 month ago

    I thought one of the goals of Java and similar was partial memory safety? If it didn’t have null it seems it would be most of the way there.

    And don’t forget Basic. Yeah most variants had pointers and equivalents to null, but they are ‘advanced’ and not meant for general code. (Although that’s interpreted and you said compiled, often it could be ‘complied’ similarly to Java bytecode)

    • Tempy@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      26 days ago

      A null does not make it memory unsafe. You aren’t accessing invalid memory, the runtime just raises a NRE. Which is fine. No memory safety violated.

      Java is, as long as you stick to pure java and not native interop, entirely memory safe. And that’s achieved by giving up control of memory allocation to the garbage collector.

      Rust is not the first memory safe language. It does however, manage to achieve memory safety without needing a garbage collector. Which is what drew my initial interest.