• moseschrute@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    8 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