Compilation and interpretation can be seen as different concepts, even if they are two similar ways to translate source code, often into machine code. What is machine code? How does a computer execute a program? What's the difference between interpretation and compilation, and why does it matter? What are their benefits and drawbacks?