Gen X - who, let’s face it, wrote most of this stuff - gets forgotten again.
Fine with me. Leave us the hell alone.
Oh it’s a printer? I, uh, yeah, no I don’t know anything about printers sorry.
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 :)
How does computers work?
- 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
deleted by creator
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
deleted by creator





