3 minute read
1.2 EVOLUTION OF PROGRAMMING LANGUAGE
Programming language is a language that is used for writing programs or a set of rules and reserved words (keywords) that can be used to tell a computer what are the operations to be done. There are five generations of programming language:
1st Generation Language (Machine language (1950-1960)) 2nd Generation Language (Assembly Language (1950s) 3rd Generation Language (High-Level Language ((3GL, 4GL, 5GL) 1960s till now) 4th Generation Language (1980s) 5th Generation Language ((Natural Language) 1990s)
Advertisement
Figure 1.1: Evolution of Programming Language
1.2 EVOLUTION OF PROGRAMMING LANGUAGE
1.2.1 1st Generation Language (Machine language (1950-1960))
The lowest level of language. It represented data and program instructions as 1s and Os - binary digits corresponding
to the on and off electrical states in the computer. Examples: 0 represents “off” and 1 represents “on”. The only language that the computer could understand (does not require a translator). Machine language is machine-dependent. Meaning, a written program for one computer generally cannot be executed on another. For example, a program written in Apple PC cannot be run on IBM PC.
Advantages:
o The most efficient in terms of storage area and speed. o Allows the program to fully utilize the computer's potential for data processing.
Disadvantages:
o The instruction and syntax in a program are not standardized. It depends on the type of computer used. o Program instruction executes only on the specific machine for which it was written.
Figure 1.2: Example of Machine Language
1.2.2 2nd Generation Language (Assembly Language (1950s)
Known as a symbolic language. It was developed to replace "0" and "1" used in Machine Language. It uses mnemonic codes - a symbol chosen to help users to remember the significance of the symbol. For example, A represented ADD and S represented SUM. Computer does not understand the language so it needs an assembler to translate the program to machine language.
Advantages:
o The program can run faster. o Efficient use of the memory.
Disadvantages:
o Errors can be made easily - difficult to identify & correct errors. o It is difficult to understand. o It takes a long duration of time to write the program.
Figure 1.3: Example of Assembly Language
1.2.3 3rd Generation Language (High-Level Language ((3GL, 4GL, 5GL) 1960s till now)
Instruction is written as a series of English-like words. Translator (Compiler/Interpreter) is needed to translate high-level language to machine language. It is Machine-Independent. The program can be written and executed on any computer. It can be classified into two categories:
i. Non-procedural language
A language that states task to be accomplished but does not state the steps needed to accomplish it.
ii. Procedural language.
A language that represents a step-by-step process (procedure) for solving the problem.
Advantage:
o Easy to be developed and maintained.
Figure 1.4: Example of High-Level Language (C Language)
1.2.4 4th Generation Language (1980s)
Program is written in English-like statements. It is a short programming language where the operation needs a few lines instead of hundreds of lines. It is a non-procedural language. Known as a query language, which can be used to retrieve data from the database.
Advantages:
o Result-oriented where they emphasize what instead of how. o It is simpler and easier, so programmers and non-programmers can use this language with minimum training.
Figure 1.5: Example of PROLOG, FOCUS, LISP and SQL
1.2.5 5th Generation Language ((Natural Language) 1990s)
A programming language that resembles human language. Known as knowledge-based language. Translates human instructions into code (machine language) where a computer can understand. The use of a natural language to access knowledge base is called knowledge-based system.