- 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