What is Computer Language?
Generally, we use languages like English, Hindi, etc., to make communication between two persons. That means when we want to make communication between two persons we need a language through which persons can express their feelings. Similarly, when we want to make communication between user and computer or between two or more computers we need a language through which user can give information to the computer and vice versa. When a user wants to give any instruction to the computer the user needs a specific language and that language is known as a computer language.
The user interacts with the computer using programs and that programs are created using computer programming languages like C, C++, Java, etc.,
Computer languages are the languages through which the user can communicate with the computer by writing program instructions.
Every computer programming language contains a set of predefined words and a set of rules (syntax) that are used to create instructions of a program.
Computer Languages Classification
Over the years, computer languages have been evolved from Low-Level to High-Level Languages. In the earliest days of computers, only Binary Language was used to write programs. The computer languages are classified as follows...
Low-Level Language (Machine Language)
Low-Level language is the only language which can be understood by the computer. Binary Language is an example of a low-level language. Low-level language is also known as Machine Language. The binary language contains only two symbols 1 & 0. All the instructions of binary language are written in the form of binary numbers 1's & 0's. A computer can directly understand the binary language. Machine language is also known as the Machine Code.
As the CPU directly understands the binary language instructions, it does not require any translator. CPU directly starts executing the binary language instructions and takes very less time to execute the instructions as it does not require any translation. Low-level language is considered as the First Generation Language (1GL).
- A computer can easily understand the low-level language.
- Low-level language instructions are executed directly without any translation.
- Low-level language instructions require very less time for their execution.
- Low-level language instructions are very difficult to use and understand.
- Low-level language instructions are machine-dependent, that means a program written for a particular machine does not execute on another machine.
- In low-level language, there is more chance for errors and it is very difficult to find errors, debug and modify.
Middle-Level Language (Assembly Language)
Middle-level language is a computer language in which the instructions are created using symbols such as letters, digits and special characters. Assembly language is an example of middle-level language. In assembly language, we use predefined words called mnemonics. Binary code instructions in low-level language are replaced with mnemonics and operands in middle-level language. But the computer cannot understand mnemonics, so we use a translator called Assembler to translate mnemonics into binary language. Assembler is a translator which takes assembly code as input and produces machine code as output. That means, the computer cannot understand middle-level language, so it needs to be translated into a low-level language to make it understandable by the computer. Assembler is used to translate middle-level language into low-level language.
- Writing instructions in a middle-level language is easier than writing instructions in a low-level language.
- Middle-level language is more readable compared to low-level language.
- Easy to understand, find errors and modify.
- Middle-level language is specific to a particular machine architecture, that means it is machine-dependent.
- Middle-level language needs to be translated into low-level language.
- Middle-level language executes slower compared to low-level language.
A high-level language is a computer language which can be understood by the users. The high-level language is very similar to human languages and has a set of grammar rules that are used to make instructions more easily. Every high-level language has a set of predefined words known as Keywords and a set of rules known as Syntax to create instructions. The high-level language is easier to understand for the users but the computer can not understand it. High-level language needs to be converted into the low-level language to make it understandable by the computer. We use Compiler or interpreter to convert high-level language to low-level language.
Languages like COBOL, FORTRAN, BASIC, C, C++, JAVA, etc., are examples of high-level languages. All these programming languages use human-understandable language like English to write program instructions. These instructions are converted to low-level language by the compiler so that it can be understood by the computer.
- Writing instructions in a high-level language is easier.
- A high-level language is more readable and understandable.
- The programs created using high-level language runs on different machines with little change or no change.
- Easy to understand, create programs, find errors and modify.
- High-level language needs to be translated into low-level language.
- High-level language executes slower compared to middle and low-level languages.
Understanding Computer Languages
The following figure provides a few key points related to computer languages.
From the above figure, we can observe the following key points...
- The programming languages like C, C++, Java, etc., are written in High-level language which is more comfortable for the developers.
- A high-level language is closer to the users.
- Low-level language is closer to the computer. Computer hardware can understand only the low-level language (Machine Language).
- The program written in the high-level language needs to be converted to low-level language to make communication between the user and the computer.
- Middle-level language is not closer to both user and computer. We can consider it as a combination of both high-level language and low-level language.