• Naich@lemmings.world
    link
    fedilink
    arrow-up
    103
    ·
    6 months ago

    I have programmed by looking up op codes in a table on a sheet of paper and entering the hex codes into an EPROM programmer.

      • Naich@lemmings.world
        link
        fedilink
        arrow-up
        26
        ·
        6 months ago

        Fucking ancient. This was for a Z80 based system using discreet logic for addressing and IO, constructed on a wire-wrapped board.

    • Cethin@lemmy.zip
      link
      fedilink
      English
      arrow-up
      17
      arrow-down
      1
      ·
      6 months ago

      If you want some modern day fun with this, try the Zachtronics programming games; TIS-100, Shenzhen I/O, and Exapunks.

      Or, my personal favorite I only discovered somewhat recently, try Turing Complete. You start by designing all your logic gates from just a negate gate IIRC. You eventually build up an ALU and everything else you need and then create your own computer. Then you define your own assembly language and have to write programs in your assembly language that run on the computer you’ve designed to complete different tasks. It’s a highly underrated game, although it takes a certain type of person to enjoy.

      • WldFyre@lemm.ee
        link
        fedilink
        arrow-up
        2
        ·
        6 months ago

        Turing Complete looks really interesting! How polished is it? Just looked it up and saw it was in early access

        • Cethin@lemmy.zip
          link
          fedilink
          English
          arrow-up
          2
          ·
          6 months ago

          I would say it’s very polished. It does everything you’d expect and has some nice QoL features. There was work on a big update that’d improve performance and things, but the last information about that was from Aug of last year as far as I can tell. That’s not a big deal though. The game works fine without it.

      • Zangoose@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        6 months ago

        Another interesting low-level interpreter/emulated system to look into for anyone else trying to get started with this type of thing is the CHIP-8! It’s a pretty basic 8/16-bit instruction set (there are 35 opcodes, the instructions themselves are mostly simple) and there are tons of detailed guides on making one and writing roms for them.

    • notabot@lemm.ee
      link
      fedilink
      arrow-up
      11
      ·
      6 months ago

      Ah, memories. That was me on a Spectrum. It’s all fun and games until you forget to save (to tape) and your code hangs the machine, losing everything.

    • GenosseFlosse@lemmy.nz
      link
      fedilink
      arrow-up
      6
      ·
      6 months ago

      When I was young, we didn’t have hex codes, we only had 1 and 0s. One time we where all out of 1s, and I had to code a whole Database system with only 0s!

          • Victor@lemmy.world
            link
            fedilink
            arrow-up
            25
            ·
            6 months ago

            Exactly. For every level of abstraction, the abstractor is the high level and the abstractee is the lower level. Those aren’t real words perhaps, but you get what I’m saying. It’s all relative along the chain of abstraction.

            • Ziglin@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              6 months ago

              Is it a chain though? I think it’s more of a branching network that (almost?) always is stopped at quantum physics and it’s theories or some form philosophy.

              • Victor@lemmy.world
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                6 months ago

                My mental model of it is a chain, yes. But you can define it however you like. It’s just steps in some direction.

                Maybe a cake would suit someone the best.

        • Lmaydev@programming.dev
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          6 months ago

          It’s higher than machine code. It’s degrees of highness. Any abstraction technically makes it high level.

          • abbadon420@lemm.ee
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            6 months ago

            It’s not really abstraction though. It is more like syntactic sugar. In stead of 1000111011 you say ADD, but it is still the exact same thing. There is no functional, prgrammatical benefit of one over the other. It’s just that asm is readable by humans.

            At least thats as far as I understand asm. I haven’t gone beyond NandToTetris

    • Cethin@lemmy.zip
      link
      fedilink
      English
      arrow-up
      3
      ·
      6 months ago

      I would argue they don’t know what that means really. Assembly is pretty much a mapping of words to machine code. It’s just a way to make machine code easier to read. It doesn’t actually change how it works.

      A compiler re-arranges and modifies things so what you write isn’t the same as the final program that is created. With assembly it is. It’s not really an abstraction, but a translation. It doesn’t move you further from the machine, it only makes it so you’re speaking the same language.

  • IsoSpandy@lemm.ee
    link
    fedilink
    arrow-up
    13
    ·
    6 months ago

    When I learnt programming (back in early 2000s) the textbook said C is a high level 3rd generation language with 4th gen languages being something higher (I don’t remember what examples were given specifically). This is back when the java applets and action script for flash were the hot things. How I miss the days without the world being cursed by JS.

    • MonkderDritte@feddit.de
      link
      fedilink
      arrow-up
      4
      ·
      6 months ago

      I think C was 2nd, 3. is Java and Python, 4 SQL and 5th would be some hypothetical AI instruction language?

      • Aux@lemmy.world
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        6 months ago

        1st level is direct binary code as was done with punch cards. Assembly language is a 2nd level language. C is a level above, thus it’s level 3.

          • Aux@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            6 months ago

            I would also like to add some of the higher level features available in most assembly languages.

            1. Memory management. You can define variables, for example, a string one containing “Hello, world!” and the compiler will correctly allocate required memory and you don’t need to know its address while writing the code, you just reference the variable.
            2. Code labels. If you want to do a conditional or unconditional jump, you need to know the address of the code you want to reach. But, obviously, every change you make to your code base will change the memory layout of your binary. Asembly provides code labels. You can think of them like function names.
            3. Assembly allows you to reference 3rd party libraries without knowing exact function entry addresses. You just use function names like you would with C or any other language.

            Modern assembly languages have even more higher level features, like macros support. And some are even hardware agnostic, like intermediate representation assembly language used in LLVM.

      • mkwt@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        6 months ago

        When the gp’s book says that C is a third generation language: I would guess the first generation is Fortran and the second generation contains ALGOL and BCPL. C was heavily influenced by BCPL. (get it? C comes after B)

    • Lmaydev@programming.dev
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      6 months ago

      Java applets and flash were an absolute security nightmare of the highest degree.

      You were just running applications on your computer.

      If you had to download and run an application on your computer to view a website now people would lose their minds (and rightly so)

  • umbraroze@lemmy.world
    link
    fedilink
    arrow-up
    12
    ·
    6 months ago

    I mean, C is a high level language? Now, sure, C isn’t a super expressive language and every C statement compiles to very few assembly instructions comparatively speaking, but it has a whole lot of stuff that assembly doesn’t have. Like nice loops and other control structures and such, and not worry about which processor registers are used.

  • 30p87@feddit.de
    link
    fedilink
    arrow-up
    10
    arrow-down
    15
    ·
    6 months ago

    In the modern world it’s completely subjective.
    The lowest-level language is probably ASM/machine code, as many people at least edit that regularly, and the highest-level would be LLMs. They are the shittiest way to program, yes, but technically you just enter instructions and the LLM outputs eg. Python, which is then compiled to bytecode and run. Similar to how eg. Java works. And that’s the subjective part; many people (me included) don’t use LLMs as the only way to program, or only use them for convenience and some help, therefore the highest level language is probably either some drag-and-drop UI stuff (like scratch), or Python/JS. And the lowest level is either C/C++ (because “no one uses ASM anyway”), or straight up machine code.

    • almost1337@lemm.ee
      link
      fedilink
      arrow-up
      38
      arrow-down
      4
      ·
      6 months ago

      I’m pretty sure Pepe was only temporarily coopted by the far rights, and has since been reclaimed.

        • Agent641@lemmy.world
          link
          fedilink
          arrow-up
          27
          arrow-down
          3
          ·
          edit-2
          6 months ago

          You’re right. Hey lemmy, lets all accommodate this one guys specific likes and dislikes so he doesn’t get his lil feels hurt!

        • Shampiss@sh.itjust.works
          link
          fedilink
          arrow-up
          19
          arrow-down
          2
          ·
          edit-2
          6 months ago

          An icon represents what the people think it represents.

          An icon can also have different meanings to different people. It’s ok if you don’t like it. But I don’t think it’s fair to say that the majority of people that use or share Pepe are from one specific ideological group

        • kewjo@lemmy.world
          link
          fedilink
          arrow-up
          20
          arrow-down
          3
          ·
          6 months ago

          the swastika was originally a religious icon used and still used in Hinduism, Buddhism and Jianism, i wouldn’t consider them Nazis… Context matters

            • kewjo@lemmy.world
              link
              fedilink
              arrow-up
              10
              arrow-down
              1
              ·
              6 months ago

              the symbol predates Germany, initial findings date it back to 3300-1300 BC. you’re telling me all historical religious symbols in Asian countries should wiped of the icon because of Nazis misappropriating their symbol? you would literally deface ancient sites that predate nazis by thousands of years because you can only see it as a symbol of hate?

              you can use context clues such as actual hate speech, nazi slogans and genocide to distinguish those that are actually racist. the whole point of nazism is to erase culture and replace it with only the “one true race”. by allowing nazis and white supremacists to appropriate symbols you’re actively giving them power.

                • kewjo@lemmy.world
                  link
                  fedilink
                  arrow-up
                  7
                  arrow-down
                  1
                  ·
                  6 months ago

                  literally my first comment said context matters. if you see an image with hate speech maybe its the speech that you should pay attention to.

        • almost1337@lemm.ee
          link
          fedilink
          arrow-up
          21
          arrow-down
          5
          ·
          6 months ago

          Almost every meme template has been used to make alt-right nonsense, do we just abandon any symbol they pick up for their misdeeds? Or do we push back and refuse to allow them that kind of control over our culture?

          • FiniteBanjo@lemmy.today
            link
            fedilink
            arrow-up
            4
            arrow-down
            32
            ·
            6 months ago

            Very few and far between were exclusive to the right. Pepe was. It started as theirs and continued to be theirs for a long time, in my opinion still continues to be theirs. You few fighting for the symbol’s continued use in good faith (if you are) are not the majority.

              • FiniteBanjo@lemmy.today
                link
                fedilink
                arrow-up
                5
                arrow-down
                19
                ·
                6 months ago

                It started as a french cartoon and got coopted into the feelsbadman meme format in 2009 and then skyrocketed in popularity and mainstream use in 2015-2016 by pro-trump conservatives.

                Even if it were present in every single greentext like some sort of bizarre requirement, it still would have more use by nazis and propogandists than anyone else.

            • nephs
              link
              fedilink
              arrow-up
              4
              arrow-down
              4
              ·
              6 months ago

              You don’t have to explain why fascist symbols are bad, there. You might find most lemmygraders to be pretty reasonable.

                • triplenadir
                  link
                  fedilink
                  arrow-up
                  5
                  arrow-down
                  3
                  ·
                  6 months ago

                  mournfully flipping the counter back to “0” on the “it has been X days since a turbolib said something deeply homophobic” sign