1. Choose the compiler
  2. Compile code into MSIL
  3. Compile MSIL into native code
  4. run the program