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.

This article is from: