Pages

Generations of Computers and Computer Languages

GENERATIONS OF COMPUTERS
Using size and features as the bases, computers areclassified into various generations. These generations of computers are discussed below: 
FIRST GENERATION
The first generation computers were bulky in size. They were able to execute hundreds of instructions per second and were expensive as well. They used vacuum tubes as their main components. Machine language is a first  generation language, for example EDVAC, UNIVAC etc. 
SECOND GENERATION

The second-generation computers were smaller in size as compared to the first generation computers. These were capable of executing thousands of instructions per second, with a transistor as its main component. Assembly language is the second-generation language in which programs were written  using mnemonic codes, for example, PDP (Programmed data processor), PDP1 etc. 
THIRD GENERATION
The third generation computers were more advanced and used integrated circuits. These computers contained thousands of components per circuit. They were cheaper than second-generation computers. The languages used in  this generation were BASIC, COBOL etc. for example, IBM 307 Series, PDP II etc. 
FOURTH GENERATION
The fourth generation computers used complex circuits like the large-scale integrated circuits called microprocessors or chips, which surprisingly cost less than the third generation computers. These computers were able to  execute millions of instructions per second. The languages used in this generation are C++, SQL etc. for example, CRAY 2, IBM 3090/600 Series.
FIFTH GENERATION
These computers work on artificial languages (AI) like LISP, PROLOG etc. They use super/ultra large-scale integrated circuits, which  is also called parallel processing method. They execute billions of instructions per second, for example, Laptops, Palmtops, PDA (Personal Digital Assistant) etc. Different kinds of languages emphasise different parts about the problem, and so are better at describing different aspects of the solution or even different kinds of problems and solutions. Computer Science is ever evolving, so there is continual evolution of the concepts we need to use and the notations for describing these concepts. Operational languages, for example, express how something is achieved, and makes the reader figure out what is being achieved. Declarative languages express what must be achieved and make the system work out how to achieve it. 
The earliest languages had few restrictions, so they were very powerful, but turned out to be very dangerous to use. After a while, people developed languages that were much safer to use, but there were complaints about theirlack of power. Nowadays, we see languages that are both safe and powerful.  Sometimes we have to use assembly language (Low-Level Language, LLL) because there is just no other reasonable way of telling the computer what it must do. However, most programming is done in High-Level Languages (HLLs) because of productivity. It is usually easier, or more cost-effective, to use a HLL. Some of the reasons for this are: 
•  Easy to write: Useful concepts and facilities, relevant to application 
•  Easy to read: For reuse, maintenance, enhancement etc. 
•  Portability: Other compiler/toolset suppliers, users, computers - standards 
•  Error detection and reporting 

No comments:

Post a Comment