A language is a method of communication to share ideas, opinions with each other. The main purpose of using a language is to communicate with each other with great precision. As computer cannot understand human language so, a common language is required to create a communication between the user and the computer system. A computer language is a set of semantic rules by which data & instructions are used to notify a computer to perform specific tasks. Computer languages are also referred to as an interface between a user and a computer system. Now, we are going to discuss the computer programming languages that are broadly classified into different categories & each language has different functioning:
- Generations Of Computer Languages:
- First Generation Language/1GL (Machine Language)
- Second Generation Language/2GL (Assembly Language)
- Third Generation Language/3GL (High-Level Languages)
- Fourth Generation Language/4GL (Very High-Level Languages)
- Fifth Generation Language/5GL (Artificial Intelligence Language)
- Computer Language Processors/Language Translators
- Types Of Language Processors
- Compilers
- Interpreters
- Assemblers
Generations Of Computer Languages:
Programming Languages…….>Low level & High-level languages;
Low-Level Languages………….>First & Second Generation Languages;
High-Level Languages………….>Third, Fourth & Fifth Generation Languages.
First Generation Language/1GL (Machine Language)
The first-generation language is also called Low-level language. It means that they are used to program a computer system at the machine level (binary code). Binary language is only understood by the computer and it is expressed by using two digits as zeroes (0s) & ones (1s). These binary digits (or BITS) are used to represent the presence & absence of an electrical signal. Zero (0) represents the absence of an electrical signal while One (1) represents the presence of an electrical signal. That’s why this first generation language is also known as Binary language Or Native language of the computer system. This 1GL or lower-level programming language is generally used to execute input/output (I/O) operations. Machine language differs from machine to machine due to the variations in the internal structure of each computer machine. Machine language is a computer language as it is directly executed by the computer & it is quite difficult for the users to read and understand it.
Second Generation Language/2GL (Assembly Language)
Second generation language also belongs to the Low-level programming language and also called a low-level assembly language. The second-generation language is consists of an assembly language. The 2GL language is easier to understand & use because it uses alphabet letters (similar to English-based words) that are used for performing specific tasks such as “ADD” used for addition, “SUB” used for subtraction, etc. It is also referred to as the machine-dependent assembly language. Assembly language is used to establish & modify a program. The programs written in assembly language is converted into machine language by using a translating program known as Assembler. The programs written in low-level languages are long. These are the time-consuming languages.
Third Generation Language/3GL (High-Level Languages)
The first and second-generation languages have various limitations so, to overcome that problem the third generation programming language was introduced among the users of the computer system. These generation languages are also called High-level programming language. Third-generation programming languages are programmer-friendly like FORTRAN, COBOL, BASIC, Pascal, C, C++ & Java. The programs written in high-level languages are shorter in length & are easy to maintain as compared to the programs written in the low-level languages. These 3GL languages are easy-going or time-saving languages as programs written in these languages can be developed in very less time. 3GL languages are machine-independent. The programs written in these languages for one computer can be run on a computer that belongs to a different model. A special knowledge & experience is required to develop programs in the 3GL language.
Fourth Generation Language/4GL (Very High-Level Languages)
These programming languages are also specified as very-high programming languages. They are very easy to use, learn and understand as their syntax & grammar is quite similar to that of human language (English). The goal of creating the 4GL language is to reduce the overall cost, time, effort required for establishing a software application. The 4GL languages are generally used to create & modify information in database programming & scripting. The most commonly used 4GL languages are Perl, Python, PHP, Ruby, SQL, CSS, etc.
Fifth Generation Language/5GL (Artificial Intelligence Language)
Fifth-generation language is also referred to as the artificial intelligence language. Artificial intelligence language is a self-improving language & has human-like thought. The 5GL is very easy to use and understand as it because it consists of visual tools or graphical interface. That’s why it is also known as visual programming language/natural language. These visual tools are mainly used to develop a program. It does not require any specialized knowledge to interact with the computer. The main purpose of 5GL language is to promote a device that reacts to natural language input and are capable of learning & self-organization. Examples of 5GL Languages are mercury, prolog, OPS5.
Computer Language Processors/Language Translators
Language translators are the system software used to translate a computer program from one language to another language. In simple words, you can say that it converts a program written in source code into machine code. These translators are capable of analyzing the errors during translation. The user develops a program in a high-level programming language (user-defined language) but the computer cannot understand the user-defined language. So, a mechanism is required to develop an interaction between the user and the machine which converts the instructions written in user-defined language into machine level language. Hence, the language translators or language processors are the collections of programs that used to convert the source code into machine code. Different types of language processors are used for various types of programming languages.
Types Of Language Processors
- Compilers
- Interpreters
- Assemblers
Compilers
A compiler is a program that converts instructions written in a high-level language into machine code that can be easily read and executed by a computer. The program written in a user-defined language is called the source program and the program which has been translated into binary machine code by a compiler is called object program. The compiler takes the entire program as input at a time. Then, it produces intermediate object code. It can execute statements faster than the interpreter. It also finds errors after checking the entire program.
Source Code (High-level language)……..Compiler……..>Object Code (Machine language)
Interpreters
Interpreter is a computer program that translates & executes a program written in a high-level language to machine code. Interpreter translates a single line or a single statement of source program into machine code and after that execute it immediately before moving on the next line. It displays errors of each line and only after removal of errors it can move on the next line for the execution. An interpreter can directly execute the program without previously converting them into a machine code or an object code.
Source Code……..>Interpreter……..>Output
Assemblers
Assembler is a computer program used to convert a program written in assembly language into machine code. It takes source program which contains assembly language instructions to convert them into machine code. Then, it generates an output in the object code understandable by the computer.
Source Code (Assembly language)……..>Assembler……..>Object Code (Machine language)