• hedders@fedia.io
    link
    fedilink
    arrow-up
    0
    ·
    7 months ago

    Gen X - who, let’s face it, wrote most of this stuff - gets forgotten again.

  • moseschrute@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    7 months ago

    Let’s settle this once and for all.

    I’m Gen Z. Quiz me on how computers work.

    Edit: I bet I can run circles around some of you millennials :)

      • moseschrute@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        7 months ago
        • The lowest level is transistors, which are electronic switches that have an on and off state. In other words, they are binary and can represent 0 and 1
        • Those get combined into gates of two inputs. An “and” gate outputs 1 if both its inputs are 1. An “or” gate outputs 1 if either of its inputs are 1. And Xor gate outputs 1 if and only if one of its inputs is 1.
        • A bunch of other complicated shit happens
        • Boom assembly. Don’t try and read or write it, because it will make you wanna quit computers
        • C comes into play. Designed to unfuck, assembly so you can actually write readable code. Just don’t forget to release your memory
        • More complicated shit. Something about kernels and GNU. Userland vs kernel land? Idk
          • ARM might be different since it can run process outside of userland and kernel I think? Something about secure compute/marketing BS
        • Inside of user land, we have the web browser. This is there the cool shit happens.
        • The browser runs JavaScript, CSS and HTML. JavaScript is a single threaded, but nonblocking language with an even loop and microtask queue.
        • Inside of the browser we run React. React is a framework where UI is a function of state and the data flows in one direction. It can also be used to slam your CPU.
        • Now that we’re into high level languages, it would only be fun if it looped back around to the beginning. So we invoke some C code that has been compiled to web assembly. Mmmm how efficient

        Edit: I tried to do this all off the top of my head. After writing this, I think I meant user space vs kernel space. Idk if user land is a word

          • moseschrute@lemmy.world
            link
            fedilink
            arrow-up
            0
            ·
            7 months ago

            I guess between C and assembly there’s abstract syntax trees and maybe LLVM, which is probably also written in C. Idk I skipped compilers in college.

            I also know the networking stack has a bunch of layers, but that felt like its own separate thing to “computers”. I think UDP makes more errors than TCP but UDP also go brrrrr