• velox_vulnus@lemmy.ml
    link
    fedilink
    arrow-up
    6
    ·
    3 days ago

    For the life of me, I can’t still figure out what PDP-11 virtual machine architecture is, and why it exists for C. And does that makes the situation somehow bad?

      • xthexder@l.sw0.com
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        3 days ago

        Interesting read.
        I think by all the same arguments, running raw machine code (not even assembly) is not a “low-level language” either by their definition.
        The branch prediction, instruction-level-parallelism, and cache behaviors all happen in hardware at a lower level than the programmer can control.

        All the talk about compiler optimizations seem irrelevant because you can still just turn them off and output simple machine code.

        I’m not really sure what the point of arguing the distinction is anyway? Any practical arguments would be much more specific about typical high-level features like garbage collection.

        • ☆ Yσɠƚԋσʂ ☆@lemmy.mlOP
          link
          fedilink
          arrow-up
          3
          arrow-down
          1
          ·
          3 days ago

          Right, what we call low level is really just an emulation layer that’s actually at odds with how the actual hardware works. Interestingly enough, it seems like functional style provides a programming model that can be optimized better because it doesn’t rely on global shared state.