Source program is a sequence of bits, organized in 8-bit chunks called bytes
Modern systems represent text characters in ASCII or UTF-8
Sample Hello World program:


GCC compiler reads source and translates into executable object file, performed over four phases:
cpp) modifies the original C program according to directives (#), resulting in
another C program ending with .i suffix.cc1) translates text file hello.i into text file hello.s which contains assembly
language program. Compilers generate the same assembly for a specific system, no matter the source language.as) translates hello.s into machine language instructions, packages them in form
known as relocatable object program, and stores result in hello.old) handles merging external library components to the object file. Result is hello
file which is an executable object file.