A ruler with the logo for the Lua Programming language

  • Amaltheamannen@lemmy.ml
    link
    fedilink
    arrow-up
    19
    ·
    8 months ago

    The reason for the convention is that it used to be just a pointer (adress) to consecutive elements in memory. A[x] is then literally translated to the adress of A + sizeof(x)*x. Meaning that the first element is at A[0].

    • SkyeStarfall@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      9
      ·
      8 months ago

      I mean, it’s still the case under the hood, and languages like C do work that way. Sure, it’s abstracted away in most programming languages these days, but if you ever need to do direct memory management, it’s very much still how it works.