Generations of Programming Languages
1GL: Machine languages
2GL: Assembly languages
3GL: (Machine-independent) imperative languages (FORTRAN, Pascal, C ...)
4GL: Domain-specific languages (SQL)
5GL: AI languages
Each generation is at a higher level of abstraction
• Efficiency
• Reliability
• Robustness
• Usability
• Portability
1. Low-level language: It contains the strings of binary numbers (0’s & 1’s) and is machine-dependent. It means that the machine language( First generation language ) for every processor is different. An instruction prepared in any machine language has a two-part format.
Advantages: |
Disadvantage: |
1. Very Efficient |
1. Machine Dependent |
2. Requires less storage space |
2. Programming is difficult |
3. The processor can execute without any transaction |
3. Error Prone |
|
4. Cost is high |
2. Assembly Language (Second Generation Language): A symbolic language, often known as assembly language, is a language that uses symbols rather than numbers. Assembler is a translation application that transforms assembly language into computer machine code.
Advantages: |
Disadvantage: |
1. Time-saving & reduce details |
1. Coding is time-consuming. |
2. Fewer errors & made which is easier to find. |
2. It is also machine-oriented as the code for one machine is not used by the other one. |
3. Assembly lang. program are easier to modify then the m/c language program. |
|
4. Easier to understand & use. |
|
3. High-Level Language: The high-level language was created to solve the difficulties of low-level language. Instead of being machine-based, these languages are focused on problem-solving.
High-level languages can be classified into three categories :
Third-generation language:- Procedure –oriented languages ( BASIC , COBOL, FORTRAN,C,C++,JAVA)
Fourth-generation language:- Problem-oriented languages (Query languages )
Fifth-generation language:- Natural languages ( LISP and PROLOG )
Advantages:
|
High Level Language |
Assembly Language |
Machine Language |
1. |
These are easily understandable. |
Less understandable than high-level language but more than m/c language. |
Programs are less understandable. |
2. |
Programs are portable. |
Not portable to the processor to same interpreter only. |
Not portable only processor of the same architecture. |
3. |
Debugging is easier. |
Debugging is more complex then high-level language. |
Not good as high-level language and assembly language. |