Generation of language
Depending upon the style of writing code, there are 5 major generations of Languages.
1st Generation Language (Machine Language)
1st generation language uses Binary Codes (0's and 1's) for writing Instructions. 1st generation language also requires all the steps to be specified involved in carrying out a task. Since in the 1st generation language every instruction had similar form as every instruction was composed of 0's and 1's, it created confusion and ultimately led to the development of 2nd generation language.
2nd Generation Language (Assembly Language)
In the 2nd Generation Language they took care that the instructions could be pronounced so as to reduce the chances of making mistakes. Thus, assembly language uses Mnemonics codes for writing Instructions. Assembly Language also requires all the steps to be specified involved in carrying out tasks.
Low Level Languages (LLL)
1st and 2nd Generation Languages are also known as Low Level Languages, because these Languages are implemented at the lowest level, i.e, the Machine Level. Thus, LLL's depend upon Machine for their implementation.
Advantages:
Speed, since LLLs are implemented directly at the machine level.
LLLs provide wider access to the hardware of the machines, allowing the programmer to write more powerful applications.
Disadvantages:
Machine Dependence, since LLLs are machine dependent, the programmer spends more time learning about the Hardware than the Language.
The greatest disadvantage of LLLs is that it does not allow implementing logic in its natural form.
The above disadvantages of LLLs led to the development of 3rd generation languages.
3rd Generation Language
3rd Generation Languages are known as High Level Languages (HLLs). These Languages allow implementing Logic in its natural form. e.g. BASIC, Fortran, Pascal, COBOL.
Disadvantage: High Level Language does not provide good support for Database Programming.
Database : A database is a collection of Tables (Data Files).
Data File : A Data File is a collection of Records.
Record : A Record is a collection of Data (Information) identifying a unique entity.
Data : The data is the smallest unit of information.
Whenever there is a database, following operations may be required to be performed onto it.
Add Records, Edit Records, Delete Records, Index Records, Query
While the above operations are Standard, HLLs requires separate programs to be written for performing similar operations on different data files. Thus, there was a need for a system that recognized the above operations as a standard for handling databases. This led to the development of 4th generation languages.
4th Generation Languages
4th Generation Languages are a concept knows as DBMS and RDBMS.
DBMS: DBMS stands for Database Management system, and is a collection of rules that specify the method for handling databases. Every language that satisfies the rules of DBMS is a DBMS language.
Example:
DBase III +, FoxBASE, FoxPro, Clipper, Paradox
RDBMS: RDBMS stands for Relational Database Management System, and is a collection of rules that specify the methods for connecting data files so that the record pointers in the data files are synchronized, i.e., they move in unison. Some popular RDBMS are:
Oracle, Sybase, Ingress, DB2, Foxpro2.6, MS-Access, SQL Server
5th Generation Language
The 5th Generation language is a concept called Artificial Intelligence (AI). The language that supports AI is PROLOG.