Programming languages have been classified into several programming language generations. Historically, this classification was used to indicate increasing power of programming styles. Later writers have somewhat redefined the meanings as distinctions previously seen as important became less significant to current practice.
Generations of computers are changing with time since it becomes commercially available during early 1950's.The stages of development of computers are termed as first, second, third, fourth and fifth generations of computers. The major difference between First Generation and Second Generation Computers is that in First Generation computers Vacuum tubes were used as an internal component and they were very huge in size while in Second Generation Computers Transistors were used as an internal component as they were smaller than first-generation computers.
Generations[edit]
First Generation (1GL)[edit]
Examples:machine-levelprogramming languages
A first-generation programming language (1GL) is a machine-levelprogramming language.[1]
A first generation (programming) language (1GL) is a grouping of programming languages that are machine level languages used to program first-generation computers. Originally, no translator was used to compile or assemble the first-generation language. The first-generation programming instructions were entered through the front panel switches of the computer system.
The instructions in 1GL are made of binary numbers, represented by 1s and 0s. This makes the language suitable for the understanding of the machine but far more difficult to interpret and learn by the human programmer.
Second Generation (2GL)[edit]
Examples:assembly languages
Second-generation programming language (2GL) is a generational way to categorize assembly languages.[1][2][3]
Third Generation (3GL)[edit]
Examples:C, C++, C#, Java, BASIC, Pascal, Fortran, ALGOL, COBOL
3GLs are much more machine-independent and more programmer-friendly. This includes features like improved support for aggregate data types, and expressing concepts in a way that favors the programmer, not the computer. A third generation language improves over a second-generation language by having the computer take care of non-essential details. 3GLs are more abstract than previous generations of languages, and thus can be considered higher-level languages than their first- and second-generation counterparts. First introduced in the late 1950s, Fortran, ALGOL, and COBOL are examples of early 3GLs.
Most popular general-purpose languages today, such as C, C++, C#, Java, BASIC and Pascal, are also third-generation languages, although each of these languages can be further subdivided into other categories based on other contemporary traits. Most 3GLs support structured programming. Many support object-oriented programming. Traits like these are more often used to describe a language rather than just being a 3GL.
Fourth Generation (4GL)[edit]
Examples:SQL, Unix Shell, Oracle Reports, R
4GL languages tend to be specialized toward very specific programming domains.[4][5] 4GL languages may include support for database management, report generation, mathematical optimization, GUI development, or web development.
Fifth Generation (5GL)[edit]
Examples:OPS5, Mercury
A fifth-generation programming language (5GL) is any programming language based on problem-solving using constraints given to the program, rather than using an algorithm written by a programmer.[6] Most constraint-based and logic programming languages and some other declarative languages are fifth-generation languages.
While fourth-generation programming languages are designed to build specific programs, fifth-generation languages are designed to make the computer solve a given problem without the programmer. This way, the user 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. Fifth-generation languages are used mainly in artificial intelligence research. OPS5 and Mercury are examples of fifth-generation languages,[7] as is ICAD, which was built upon Lisp. KL-ONE is an example of a related idea, a frame language.
History[edit]
The terms 'first generation' and 'second generation' programming language were not used prior to the coining of the term 'third-generation'; none of these three terms are mentioned in early compendiums of programming languages. The introduction of a third generation of computer technology coincided with the creation of a new generation of programming languages. The marketing for this generational shift in machines correlated with several important changes in what were called high level programming languages, discussed below, giving technical content to the second/third-generation distinction among high level programming languages as well while retroactively renaming machine code languages as first generation, and assembly languages as second generation.
Initially, all programming languages at a higher level than assembly were termed 'third-generation', but later on, the term 'fourth-generation' was introduced to try to differentiate the (then) new declarative languages (such as Prolog and domain-specific languages) which claimed to operate at an even higher level, and in a domain even closer to the user (e.g. at a natural language level) than the original, imperative high level languages such as Pascal, C, ALGOL, Fortran, BASIC, etc.
'Generational' classification of high level languages (third generation and later) was never fully precise and was later perhaps abandoned, with more precise classifications gaining common usage, such as object-oriented, declarative and functional. C gave rise to C++ and later to Java and C#, Lisp to CLOS, Ada to Ada 2012, and even COBOL to COBOL 2002, and new languages have emerged in that 'generation' as well.
See also[edit]
References[edit]
- ^ ab'Computer Hope, Generation languages'
- ^Brookshear, J. Glenn. Computer science : an overview (11th ed.). Addison-Wesley. pp. 240–241. ISBN0-13-256903-5.
- ^Vass, Péter. 'Programming Language generations and Programming Paradigms'(PDF). Archived from the original(PDF) on 2020-01-29.
- ^35th Hawaii International Conference on System Sciences - 1002 Domain-Specific Languages for Software EngineeringArchived May 16, 2011, at the Wayback Machine
- ^Arie van Deursen .; Paul Klint; Joost Visser (1998). 'Domain-Specific Languages:An Annotated Bibliography'. Archived from the original on 2009-02-02. Retrieved 2009-03-15.
- ^Dong, Jielin, ed. (2007). Network dictionary. Saratoga, Calif.: Javvin Technologies, Inc. p. 195. ISBN9781602670006.
- ^E. Balagurusamy, Fundamentals of Computers, Mcgraw Hill Education (India), 2009, ISBN978-0070141605, p. 340
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Programming_language_generations&oldid=968113475'
Introduction:
A computer is an electronic device that manipulates information or data. It has the ability to store, retrieve, and process data.
Nowadays, a computer can be used to type documents, send email, play games, and browse the Web. It can also be used to edit or create spreadsheets, presentations, and even videos. But the evolution of this complex system started around 1940 with the first Generation of Computer and evolving ever since.
A computer is an electronic device that manipulates information or data. It has the ability to store, retrieve, and process data.
Nowadays, a computer can be used to type documents, send email, play games, and browse the Web. It can also be used to edit or create spreadsheets, presentations, and even videos. But the evolution of this complex system started around 1940 with the first Generation of Computer and evolving ever since.
There are five generations of computers.
- FIRST GENERATION
- Introduction:
- 1946-1959 is the period of first generation computer.
- J.P.Eckert and J.W.Mauchy invented the first successful electronic computer called ENIAC, ENIAC stands for “Electronic Numeric Integrated And Calculator”.
- Few Examples are:
- ENIAC
- EDVAC
- UNIVAC
- IBM-701
- IBM-650
… - Advantages:
- It made use of vacuum tubes which are the only electronic component available during those days.
- These computers could calculate in milliseconds.
- Disadvantages:
- These were very big in size, weight was about 30 tones.
- These computers were based on vacuum tubes.
- These computers were very costly.
- It could store only a small amount of information due to the presence of magnetic drums.
- As the invention of first generation computers involves vacuum tubes, so another disadvantage of these computers was, vacuum tubes require a large cooling system.
- Very less work efficiency.
- Limited programming capabilities and punch cards were used to take inputs.
- Large amount of energy consumption.
- Not reliable and constant maintenance is required.
- SECOND GENERATION
- Introduction:
- 1959-1965 is the period of second-generation computer.
- 3.Second generation computers were based on Transistor instead of vacuum tubes.
- Few Examples are:
- Honeywell 400
- IBM 7094
- CDC 1604
- CDC 3600
- UNIVAC 1108
… many more - Advantages:
- Due to the presence of transistors instead of vacuum tubes, the size of electron component decreased. This resulted in reducing the size of a computer as compared to first generation computers.
- Less energy and not produce as much heat as the first genration.
- Assembly language and punch cards were used for input.
- Low cost than first generation computers.
- Better speed, calculate data in microseconds.
- Better portability as compared to first generation
- Disadvantages:
- A cooling system was required.
- Constant maintenance was required.
- Only used for specific purposes.
- THIRD GENERATION
- Introduction:
- 1965-1971 is the period of third generation computer.
- These computers were based on Integrated circuits.
- IC was invented by Robert Noyce and Jack Kilby In 1958-1959.
- IC was a single component containing number of transistors.
- Few Examples are:
- PDP-8
- PDP-11
- ICL 2900
- IBM 360
- IBM 370
… and many more - Advantages:
- These computers were cheaper as compared to second-generation computers.
- They were fast and reliable.
- Use of IC in the computer provides the small size of the computer.
- IC not only reduce the size of the computer but it also improves the performance of the computer as compared to previous computers.
- This generation of computers has big storage capacity.
- Instead of punch cards, mouse and keyboard are used for input.
- They used an operating system for better resource management and used the concept of time-sharing and multiple programming.
- These computers reduce the computational time from microseconds to nanoseconds.
- Disadvantages:
- IC chips are difficult to maintain.
- The highly sophisticated technology required for the manufacturing of IC chips.
- Air conditioning is required.
- FOURTH GENERATION
- Introduction:
- 1971-1980 is the period of fourth generation computer.
- This technology is based on Microprocessor.
- A microprocessor is used in a computer for any logical and arithmetic function to be performed in any program.
- Graphics User Interface (GUI) technology was exploited to offer more comfort to users.
- Few Examples are:
- IBM 4341
- DEC 10
- STAR 1000
- PUP 11
… and many more - Advantages:
- Fastest in computation and size get reduced as compared to the previous generation of computer.
- Heat generated is negligible.
- Small in size as compared to previous generation computers.
- Less maintenance is required.
- All types of high-level language can be used in this type of computers.
- Disadvantages:
- The Microprocessor design and fabrication are very complex.
- Air conditioning is required in many cases due to the presence of ICs.
- Advance technology is required to make the ICs.
- FIFTH GENERATION
- Introduction:
- The period of the fifth generation in 1980-onwards.
- This generation is based on artificial intelligence.
- The aim of the fifth generation is to make a device which could respond to natural language input and are capable of learning and self-organization.
- This generation is based on ULSI(Ultra Large Scale Integration) technology resulting in the production of microprocessor chips having ten million electronic component.
- Few Examples are:
- Desktop
- Laptop
- NoteBook
- UltraBook
- Chromebook
… and many more - Advantages:
- It is more reliable and works faster.
- It is available in different sizes and unique features.
- It provides computers with more user-friendly interfaces with multimedia features.
- Disadvantages:
- They need very low-level languages.
- They may make the human brains dull and doomed.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
Recommended Posts:
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to [email protected]. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the 'Improve Article' button below.