In a compiled language, a translation program is run to convert the programmer’s entire high-level program, which is called the source code, into a machine language code. This translation process is called compilations.
The machine language code is called the object code and can be saved and either runs (executed) immediately or later. Some of the most widely used compiled languages are COBOL, C, C++, FORTRAN, etc.
In an interpreted language, a translation program converts each program statement into machine code just before the program statement is to be executed. Translation and execution occur immediately, one after another, one statement at a time.
Unlike the compiled languages. No object code is stored and there is no compilation. This means that in a program where one statement is executed several times (such as reading and employ’s payroll record), that statement is converted to machine language each time it is executed. The most frequently used interpreted language is BASIC. Compiler languages are better than interpreted languages as they can be executed faster and more efficiently once the object code has been obtained. On the other hand interpreted languages do not need to create object code and so are usually easier to develop- that is to code and test.
The Compilation Process
The object of the compiler is to translate a program written in a high level programming language from source code to object code. Programmers write programs in a form called source code. Source code must go through several steps before it becomes an executable program.

The first step is to pass the source code through a compiler, which translate the high level language instructions into object code.
- It is a process of transforming of a program in a high-level programming language (source code) to object code.
- The source code must go through the following steps:
- Passing the source code through the compiler to produce object code.
- At that state compiler checks if all instructions in the source code follow its syntax rules.
- The object code is passed through the linker which links different modules to produce a executable code.