• notabot@lemm.ee
    link
    fedilink
    arrow-up
    44
    arrow-down
    1
    ·
    2 days ago

    Assembly language is not something you would ever really program a game in.

    Back then you wrote whatever you needed to be performant and/or that involved close access to the hardware in assembler. A game would definitely count. It’s kind of nice to do, in many ways it’s simpler than high level programming, you’ve just got a lot more to keep track of.

    • Kairos@lemmy.today
      link
      fedilink
      arrow-up
      21
      arrow-down
      1
      ·
      2 days ago

      This isn’t really true on modern systems anymore. Lower level languages like C and Rust are more or less just as performant as handmade assembly.

      • notabot@lemm.ee
        link
        fedilink
        arrow-up
        11
        ·
        2 days ago

        Sure, compilers have come a long way since then and there is vanishingly little you’d write in assembler now-a-days, and you’d probably drive yourself mad trying to do so on anything more complex than a microprocessor.

        • sunstoned@lemmus.org
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          2
          ·
          1 day ago

          No disrespect, but I love that folks from the UK always say “assembleuh” like they were on their way to saying “assembly” and got spooked halfway through

      • sugar_in_your_tea
        link
        fedilink
        arrow-up
        4
        ·
        1 day ago

        Yup. And our processors are a lot more powerful, so the tricks you’d do in assembly to eek out performance just don’t matter anymore.

        • mbfalzar@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          7
          ·
          1 day ago

          I know it’s a typo but “eek out performance” has made me picture someone programming a little ghost to spook the rest of the code into running faster

        • melpomenesclevage@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          1 day ago

          uh, well, im running like fifty things at once on all my devices, and except for the OS, all of them were coded with this design philosophy. I can definitely tell.

          on a commercial device, with everything live-snitching on me to fifty different people at once, computing actually appears to slow down over time.

          • sugar_in_your_tea
            link
            fedilink
            arrow-up
            2
            ·
            1 day ago

            That’s not because of hand-written assembly vs compilers, that’s because everyone and their dog wants abstractions up the wazoo. You have frameworks on top of frameworks, and no compiler can efficiently sift through that nonsense.

            I’d really like to see a shift back toward compiled languages like Rust to cut through the bloat.

            • melpomenesclevage@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              5
              ·
              1 day ago

              oh, no, I don’t think it’s the compilers’ fault, I think it’s the design philosophy of ‘fuck it, computers get faster, be a messy bitch, finish code fast.’ that’s fucking us.

              • sugar_in_your_tea
                link
                fedilink
                arrow-up
                3
                ·
                1 day ago

                Yup. I feel that so much at my day job. We use Python on our BE, and we have so much waste on top of that

                For example, we have some low level code for a simulation (not Python), and we ported it to Python, and we noticed the code spent a ton of its time doing bubble sort. So our Python implementation ended up being competitive by just making reasonable high level choices. We had a paginated sort + filter that loaded all possible records into RAM and did the logic in Python instead of SQL (fixing that dropped request time like 80% on larger queries).

                We have so much more crap like that, it’s not funny. But I’m ticking them off one by one by inflating my estimates a little to allow for refactors.

        • Kairos@lemmy.today
          link
          fedilink
          arrow-up
          2
          ·
          1 day ago

          Yes that’s what I was referring to.

          It’s some sort of out of order execution and branch prediction that does it. The thing you’re usually waiting on the most is IO.

      • easily3667@lemmus.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 day ago

        If you need to precisely know exactly how many instructions are running in a loop (ie super duper embedded)

    • Simulation6@sopuli.xyz
      link
      fedilink
      arrow-up
      1
      ·
      1 day ago

      I used a macro assembler to create assembly programs once. It made the process much easier, at least for the tiny things I did. Can not image a full game.