Computer is a machine and it understands only binary language (0 and 1). To understand these 0s and 1s, high level languages were developed. Computer languages can be classified into the following categories – machine language, assembly language and high-level language. Machine language is the only language that is directly understood by the computer. It is expressed in binary form, i.e., ‘0’ and ‘1’. Assembly language uses ‘mnemonic codes’ or ‘symbols’ in place of 1's and 0's, which helps in the better understanding of the codes. High-level languages are simple languages that use English and mathematical symbols like +, -, %, / etc. for their program construction. They are problem-oriented languages, for e.g., C, C++, Java etc.
Translator programs are used to convert programs written in human-readable format into an executable binary code (machine code), which is readable by the computer. These are of three types – interpreter, compiler and assembler. Interpreter is a translator program that is used to convert a high level language program into machine language. It translates the code line-by-line. Compiler is a translator program that is used to convert a high level language program into machine language. It translates the whole program at once and generates the object code along with a list of errors. Assembly language programs are converted into machine language by the assembler. The output of the assembler program is called object code or object program, relative to the input source program.