HISTORY OF PROGRAMMING LANGUAGES
FIRST GENERATION: MACHINE LANGUAGE :
- Machine language is the lowest level of programming language. It is the only language that the computer understands. All the commands and data values are expressed using 1s and 0s.
- In the 1950s each computer had its own native language. Although there were similarities between each of the machine language but a computer could not understand programs written in another machine language.
- The main advantage of machine language is that the code can run very fast and efficiently, since it is directly executed by the CPU.
- However, on the down side, the machine language is difficult to learn and is far more difficult to edit if errors occur. Moreover, if you want to add some instructions into memory at some location, then all the instructions after the insertion point would have to be moved down to make room in memory to accommodate the new instructions.
- Last but not the least, code written in machine language is not portable and to transfer code to a different computer it needs to be completely rewritten. Architectural considerations make portability a tough issue to resolve
SECOND GENERATION: ASSEMBLY LANGUAGE :
- Assembly languages are symbolic programming languages that use mnemonics (symbols) to represent machine-language instructions. Since assembly language is close to the machine, it is also called low-level language.
- Basically, an assembly language statement consists of a label, an operation code, and one or more operands.
- Labels are used to identify and reference instructions in the program. The operation code (opcode) is a mnemonic that specifies the operation that has to be performed, such as move, add, subtract, or compare. The operand specifies the register or the location in main memory from where the data to be processed is located.
- Assembly language is machine dependent. This makes the code written in assembly language less portable as the code written to be executed on one machine will not run on machines from a different or sometimes even the same manufacturer.
- No doubt, the code written in assembly language will be very efficient in terms of execution time and main memory usage as the language is also close to the computer.
- Programs written in assembly language need a translator often known as the assembler to convert them into machine language. This is because the computer will understand only the language of 1s and 0s. it will not understand mnemonics like ADD and SUB.
The following instructions are a part of assembly language code to illustrate addition of two numbers
MOV AX,4 Stores the value 4 in the AX register of CPU MOV BX,6 Stores the value 6 in the BX register of CPU ADD AX,BX Add the contents of AX and BX register. Store the result in AX register
THIRD GENERATION PROGRAMMING LANGUAGE :
- The third generation was introduced to make the languages more programmer-friendly.
- 3GLs spurred the great increase in data processing that occurred in the 1960s and 1970s. in these languages, the program statements are not closely related to the internal characteristics of the computer and is therefore often referred to has high-level languages.
- 3GLs made programming easier, efficient and less prone to errors.
- Programs were written in an English-like manner, making them more convenient to use and giving the programmer more time to address a client's problems.
- Most of the programmers preferred to use general purpose high level languages like BASIC (Beginners' All-purpose Symbolic Instruction Code), FORTRAN, PASCAL, COBOL, C++ or Java to write the code for their applications.
- Again, a translator is needed to translate the instructions written in high level language into computer-executable machine language. Such translators are commonly known as interpreters and compilers.
- 3GLs makes it easier to write and debug a program and gives the programmer more time to think about its overall logic. The programs written in such languages are portable between machines.
FOURTH GENERATION: VERY HIGH-LEVEL LANGUAGES :
- 4GLs is a little different from its prior generation because they are basically non procedural so the programmers define only what they want the computer to do, without supplying all the details of how it has to be done.
- the code comprising of instructions are written in English-like sentences;
- they are non procedural
- the code is easier to maintain
- 4GL code enhances the productivity of the programmers as they have to type fewer lines of code to get something done. It is said that a programmer become 10 times more productive when he writes the code using a 4GL than using a 3GL.
- A typical example of a 4GL is the query language that allows a user to request information from a database with precisely worded English-like sentences.
TABLE FILE ENROLLMENTSUM STUDENTS BY SEMESTER BY CLASS
FIFTH-GENERATION PROGRAMMING LANGUAGE :
- 5GLs are centered on solving problems using constraints given to the program, rather than using an algorithm written by a programmer.
- Most constraint-based and logic programming languages and some declarative languages form a part of the fifth-generation languages.
- 5GLs are widely used in artificial intelligence research.
- Typical examples of a 5GL include Prolog, OPS5, and Mercury.
- Another aspect of a 5GL is that it contains visual tools to help develop a program. A good example of a fifth generation language is Visual Basic.
- With 5GL, the programmer only needs to worry about what problems need to be solved and what conditions need to be met, without worrying about how to implement a routine or algorithm to solve them
Keywords: MACHINE LANGUAGE , FIRST GENERATION language , lowest level language , 1GL , 2GL , 3GL , 4GL , 5GL , SECOND GENERATION language , ASSEMBLY LANGUAGE , SECOND GENERATION , FORTRAN, PASCAL, COBOL, C++ , non procedural , assembly language , operand , artificial intelligence research , THIRD GENERATION PROGRAMMING LANGUAGE , THIRD GENERATION LANGUAGE , THIRD GENERATION , query language , FOURTH GENERATION , VERY HIGH-LEVEL LANGUAGES , FOURTH GENERATION PROGRAMMING language , FOURTH GENERATION language , FIFTH-GENERATION PROGRAMMING LANGUAGE , FIFTH-GENERATION LANGUAGE , logic programming languages







