C
Last edited: August 8, 2025C was created around 1970s to make Unix tool writing easier. It was meant to the be the simplest, lightest, human readable code on top of assembly.
- C is procedural: you write functions and compose them, instead of defining types
- C++ is procedural (mostly), but you can have objects: you still write functions, and can build objects and call methods
- Java is actual oop
We use C because its fast, highly efficient. C is popular for systems programming, OSes, networking, etc. Lets you work at a lower level to understand/manipulate the underlying systems.
caching
Last edited: August 8, 2025All caches, uses similar memory addressing scheme (i.e. each address can map to one of each device); each “line” of cache is usually 64 bytes. This means that each time you grab something from memory, the 64 bytes surrounding that area of memory will be cached. You are most likely to do this because of iterating through an array.
- L1-D cache: on the CPU, used for staging for registers
- L1-I cache: on the CPU, used for staging for assembly instructions
- L2 cache: L1 staging
- L3 cache: L2 staging
- Main memory: memory
cache locality
temporal locality
“Things I have used recently, I’m likely to use again soon”
cal.com
Last edited: August 8, 2025cal.com is an automating calendar service funded by the VC firm 776.
calculating shear's modulus
Last edited: August 8, 2025
