Alam Asya'rie

Situs personal untuk blog dan notes.

Notes from Computer Systems: a Programmer's Perspective

Today I realized how many things happen between the source code I write and the text that finally appears in my terminal. A simple program goes through compilation, optimization, assembly generation, machine code, linking, loading by the operating system, execution by the CPU, memory access, and I/O before I ever see the output.

The entire process happens so quickly that it's easy to forget how many layers are involved. Programming isn't just about writing code; it's about building on a stack of abstractions. The more I try to peel back those abstractions, the more respect I gain for every layer—from compilers and operating systems to computer architecture and hardware. Each layer hides enormous complexity while making the next layer possible.