4th Class Computers A brief about Computer Languages First generation and second generation

First generation and second generation

Category : 4th Class

*      First generation and second generation



*   First Generation Languages IGLs (Machine Language)


When the human being first started programming the computer, he used machine language or binary language. A set of is and Os as 11101101 has a specific meaning to a computer even though it appears as a binary number to us. The writing of programs in machine language is very cumbersome and complicated and could be performed only by experts. All the data and instructions to be fed into the computer were in a numeric form i.e. in binary form. The machine language program is a complicated program which requires the knowledge of complete computer circuitry. Furthermore, debugging a machine language program is a tedious job. Due to these reasons the machine language never became popular among the users.

                                                                   Machine Code
8B542408 83FA0077 06B80000 OOOOC383
FA027706 B8010000 OOC353BB 01000000
B9010000 008D0419 83FA0376 078BD98B
C84AEBF1 5BC3    


*      Second Generation Languages 2GLs (Assembly Language)


The first-generation programming language or 1GL is machine code. It is the only language a microprocessor can process directly without a previous transformation. Currently, programmers almost never write programs directly in machine code, because it requires attention to numerous details which a high-level language would handle automatically and also requires memorizing or looking up numerical code for every instruction that is used. Lots of efforts were made to remove the difficulties faced by the use of machine languages. The first language similar to English was developed in 1950 which was known as Assembly Language or Symbolic Programming Languages. The purpose of these languages was to bring the man and machine close to each other in spite of using different languages. The second-generation programming language or 2GL is assembly language. It is considered as a second-generation language because it is not a microprocessor's native language. An assembly language programmer must be aware of the microprocessor's unique architecture such as its registers and instructions. In assembly language, understandable symbols and words are commonly used to denote the operations and addresses of operands.  


*    The following instructions can be written for adding two numbers A and B.



The above symbols LDA (Load Accumulator) and ADD (Addition) are more understandable than the corresponding symbols 001 and 010 in binary form used in machine language. In addition/ the meaning of these words is obvious and no special efforts are required to remember the meaning. Such symbols LDA and ADD are known as Mnemonics and these express the operations to be performed. The operation code used in machine language are replaced by mnemonics which are easier to remember. Before feeding the program written in assembly language to the computer, the assembler must be loaded to the computer memory for translating. It occupies a large memory of the computer; hence it cannot be used with small capacity computer. This was the main advantage of the machine language over the assembly language.  


*     Some programming code in binary language and assembly language:


mov c, a (Data transfer from register c to accumulator)

cmp edx, 0

ja @ f

mov eax, 0



cmp edx, 2

Ja @f               





 Given below is the information about Low Level Languages. Read them and identify the correct one.

1. A low-level language does not need a compiler or interpreter to run.

2. A low-level programming language directly interacts with the hardware. That's why it is described as being "close to the hardware".

3. Low-level programming languages are not a machine oriented language.

(A) 1 and 2                                                         

(B) 1 and 3

(C)  2 and 3                                                         

(D) All of these

(E) None of these  


Answer: (a)


Correct Option:

(A) Statements 1 and 2 are correct about Low level language.

Incorrect Options:

(B) Statement 1 is correct but statement 3 is incorrect. Therefore, option (B) is incorrect.

(C) Statement 2 is correct but statement 3 is incorrect. Therefore, option (C) is incorrect.

(D) All the given statements are not correct. Therefore, option (D) is incorrect.

(E) None the given statements are not incorrect. Therefore, option (E) is incorrect.    



 Match the following:

          A                                                            B

1. Low level Language                                 i.   Machine Code

2. 1st Generation Language                       ii.   Assembly Language                

3.  2nd Generation Language                    iii.   Close to hardware

(A) 1, ii; 2, i; 3, iii                                               

(B) 1, iii; 2, ii; 3, i

(C) 1, iii; 2, i; 3, ii                                               

(D) 1, i; 2, ii; 3, iii

(E) 1, ii; 2, iii; 3, i  


Answer: (C)


Correct Option:

(C) Option (C) is matched correctly.

Incorrect Option:

(A) Option (A) is matched incorrectly.

(B) Option (B) is matched incorrectly.

(D) Option (D) is matched incorrectly.

(E) Option (E) is matched incorrectly.

You need to login to perform this action.
You will be redirected in 3 sec spinner