Hardware (?)
Linux kernel + modules
Linker
Editor
Compiler
...
((I)C)Make
Shell
Window manager
You
Actually more
layers here
Note: no IDE! “A variable is what shows up in green in the IDE.”
Choice of linux distros, editors
You never talk to the hardware (not even close).
It is abstracted away.