17.16 Compilation is the process of converting source code written in a programming language into an executable form. It is the process by which a compiler translates source code into an executable form, such as a binary code, that can be run on a computer. There are two types of compilation: static and dynamic. Static compilation compiles the source code into an executable at the time of writing, whereas dynamic compilation compiles the source code at the time of execution.