A programming language is a set of symbols and rules for instructing a computer to perform specific tasks. The programmers have to follow all the specified rules before writing program using programming language. The user has to communicate with the computer using language which it can understand.
1. Machine language
2. Assembly language
3. High level language
The computer can understand only machine language which uses 0’s and 1’s. In machine language the different instructions are formed by taking different combinations of 0’s and 1’s.
Machine language is the only language which the computer understands. For executing any program written in any programming language, the conversion to machine language is necessary. The program written in machine language can be executed directly on computer. In this case any conversion process is not required.
The machine language program is translation free. Since the conversion time is saved, the execution of machine language program is extremely fast.
Ø It is hard to find errors in a program written in the machine language.
Ø Writhing program in machine language is a time consuming process.
Machine dependent: According to architecture used, the computer differs from each other. So machine language differs from computer to computer. So a program developed for a particular type of computer may not run on other type of computer.
To overcome the issues in programming language and make the programming process easier, an assembly language is developed which is logically equivalent to machine language but it is easier for people to read, write and understand.
Ø Assembly language is symbolic representation of machine language. Assembly languages are symbolic programming language that uses symbolic notation to represent machine language instructions. They are called low level language because they are so closely related to the machines.
Assembler is the program which translates assembly language instruction in to a machine language.
Ø Easy to understand and use.
Ø It is easy to locate and correct errors.
The assembly language program which can be executed on the machine depends on the architecture of that computer.
Hard to learn
It is machine dependent, so the programmer should have the hardware knowledge to create applications using assembly language.
Ø Execution time of assembly language program is more than machine language program.
Ø Because assembler is needed to convert from assembly language to machine language.
High level language contains English words and symbols. The specified rules are to be followed while writing program in high level language. The interpreter or compilers are used for converting these programs in to machine readable form.
The programs that translate high level language in to machine language are called interpreter or compiler.
A compiler is a program which translates the source code written in a high level language in to object code which is in machine language program. Compiler reads the whole program written in high level language and translates it to machine language. If any error is found it display error message on the screen.
Interpreter translates the high level language program in line by line manner. The interpreter translates a high level language statement in a source program to a machine code and executes it immediately before translating the next statement. When an error is found the execution of the program is halted and error message is displayed on the screen.
High level language is closer to natural language so they are easier to learn and understand
High level language program have the advantage of being portable between machines.
Easy to find and correct error in high level language
The translation process increases the execution time of the program. Programs in high level language require more memory and take more execution time to execute.