Definition of programming language:
A computer or a system is operated by given a set of rules and instruction to perform some task. These sat of rules and instructions are able to control the working of computer or any automated and/or manipulated machine. To control the computer system using these sequential set of grammatical rules are known as programming language. In other words, ‘A programming language is a vocabulary and a set of grammatical rules for instructing a computer system to perform any specific task’. Hence we can say that a programming language plays a very important role to control and operating a computer system.
Classification of programming languages:
In the present scenario of study programming languages become a very wide area of engineering and research. As the involvement of computer, automation and robotics growing in our daily life, programming becomes highly required to control all of them. To control all of these systems and machines and take desired output by them skilled programming languages is necessary. However the area of programming language become how much wide but it will be under one of the three category of programming languages. Since the starting of programming language, it is classified into three categories. Sometime it’s also known as level and/or generation of programming language. All the computer programming languages are broadly classified into the following;
Machine level languages (First Generation of programming language):
It’s the lowest level and named as first generation of programming language. Machine level language consist only two condition i.e. either true (1) or false (0); this type of language known as binary language. A computer system could understand only binary language i.e. all the instruction feed into the computer system must be in the form of 0 or 1. Machine level languages are very tough to understand by the humans.
Advantages of machine level language:
There have many advantage of machine level language; some of them are listed below;
- Machine level languages are directly interacting with computer system.
- There is no requirement of software of conversion like compiler or interpreters.
- It takes very less time to execute a program, because there is no conversion take place.
Disadvantages of machine language:
Some of the disadvantages of machine level language are listed below;
- Its machine dependent language i.e. individual program required for each machine.
- To develop a program in machine language, it’s too hard to understand and program.
- Its time consuming to develop new programs.
- Debugging process is very hard because of finding errors process is typical.
- Machine language is not portable language.
Assembly level languages (Second Generation programming language):
It’s a middle level and named as second generation programming language. It contains the same instruction as machine level language, but the instructions and the variables have specific name or called commands instead of being just binary numbers. It also uses symbols to describe field of instructions. Every aspect of machine variable in program, assembly language uses one statement per machine instruction. It managed explicitly all instruction like register allocation, call, stack, timer, jump, loop etc.
To understand the assembly language computer must require an assembler which takes a part in between assembly language and computer system to convert the assembly instructions into the machine language. This assembler is software or a set of program which translates assemble language programming instruction into the machine language. For example;
Advantages of Assembly language:
There have many advantage of assembly level language; some of them are listed below;
- It is easily understood by human because it is uses statements instead of binary digits.
- To develop a program it takes less time.
- Debugging and troubleshoot is easy due to easily find error.
- It’s a portable language.
Disadvantages of Assembly language:
Some of the disadvantages of assembly level language are listed below;
- It’s a machine dependent language due to that program design for one machine no use of other machine.
- Sometime it’s hard to understand the statement or command use.
High-level language (Third Generation):
High level language is the upper level language and also known as third generation programming language. It does consider as high level because, which language comes under this category are closer to human languages. Hence this is highly understood programming language by human. There have many examples of high level languages such as, FORTRAN, Pascal, C, C++, JAVA, ADA, COBOL, LISP, Prolog etc.
The first high level programming language was written in 1950s. Those programs written in high level language must require software or a set of program to translate that program into machine understandable. This software called compiler and/or interpreter. The main job of compiler and translator is to take the source code of the program and convert that code into the machine understood code.
Advantages of high level language:
There have many advantage of high level language; some of them are listed below;
- In this instructions and commands much easier to remember by programmer.
- Its logic and structure are much easier to understand.
- Debugging is easier compare to other languages.
- Less time consuming to writing new programs.
- HLL are described as being portable language.
Disadvantages of high level language:
Some of the disadvantages of high level language are listed below;
- HLL programming language take more space compare to other MLL (machine level language) and/or ALL (Assembly level language).
- This programming language execute slowly.