Java: source code --> |compiler| --> "byte code" --> |JVM| --> output of program .java .class Many others: source code --> |preprocessor| --> source code --> |compiler| --> assembly --> |assembler| --> object code --> |linker| --> executible --> |load| --> |execute|-->output cc gcc .c gcc -S -- compile only, do not assemble