The computer languages are those languages by which the user can communicate with the machine. There are various types of programming languages via we can write the programs. The program is the set of instructions which has to be executed by the computer.
Every language has its strengths and weaknesses, which are used by us. The programming languages are used for the implementation of different algorithms. These have a various purpose which are given below:
- Any individual has to instruct the computer system, for everything he wants to do in the human-readable form.
- The programmer or coder can structure the instructions into functions, procedures, etc. These procedures allow the program to break into “chunks,” and it makes the program easy to read.
- The programming language provides portability.
The computer can understand binary language only, which is in the form of 0’s and 1’s, it is also known as machine language. The binary language is challenging to learn and understand for the fresher.
Computer programming consists of a full understanding of how and why the computer systems, and we can set realistic expectations. There are three types of computer languages:
- Low-Level Language
- Middle-Level Language
- High-Level Language
1) Low-Level Language
The low-level programming language provides little or no abstraction. The low-level language is the machine-dependent language. We can say that the low level of language is near to the machine and far away from the programmer. The execution time of the low-level language is very fast, and it is the advantage of the low-level language.
There is some disadvantage of low-level language: the low-level language is not easy to understand, and it is machine dependent language. Machine dependent code means that if we write the binary code on any computer machine, then we cannot run the same code on another computer system like other language java, python etc.
When the low-level language deals with the hardware and registers that type of communication is known as assembly language. The low-level language does not need a compiler or interpreter to run the program, and the processor can run low-level code directly. Low-level language is divided into two parts:
- Machine language or Binary language
The machine language is the mixture of binary digits or bits, which can be read and interpreted by the computer. The machine language is the only language that is understood by the computer.
The language is in the form of 0’s, and 1’s so, no one can understand this language quickly. The machine language is the hardware-dependent programming language. The code in machine language is the only computer program which is understandable by the computer and directly executed by the Central processing unit (CPU). The machine language code is strictly written in the numerical form.
It is hardware dependent language. Each processor has kept its own instruction set, and these instructions are the patterns of bits. There is the class of processors using the same structure, which is specified as an instruction set — any instruction can be divided into two parts: the operator or opcode and operand.
The starting bits are known as the operator or opcode whose role is to identify the kind of operation that are required to be performed. The remaining bits are called operand, whose purpose is to show the location of activity.
The programs are written in various programming languages like C, C++. Java python etc. The computer is not capable of understanding these programming languages so. We need to compile the program.
Once we compile the program, the compiler converts that program into machine language. If program contains any error, then compiler will display the error on the screen.
The machine-level language or binary language can be executed very fast because it is not required to translate from one language to another. It can run directly.
Limitations of machine language
- Machine dependent.
- Difficult to program.
- High error level when we write a program in this language.
- Difficult to modify the code.
- Assembly language or symbolic language
The assembly language lies in between the machine language and high-level language. It is the low-level language for microprocessors and other programmable devices. An assembly language is a batch of languages, and it is not a single language.
This language implements the symbolic representation of the machine code. The assemblers use in assembly language, and these are similar to the compiler. The assembler is capable of converting the assembly code into binary code with the help of the basic commands and the operations. The execution time of assembly language is very low.
The assembler is simple, and they can only convert the code into low-level language. The assembling program performs by using a simple one-to-one mapping from the process of assembly code to machine code. The assembly language is also known as a symbolic language. We can handle various keywords as the symbol to perform any operation.
Mostly the programs are written in high-level languages and compiled directly to machine code by using the compiler. Here, we explain the working of assembler in the diagram, which is given the following:
The assembly language is machine-dependent, and the high-level language is machine-independent. The computer is not able to understand the instruction in assembly language, but the machine code is understandable to the computer. It is a challenging task for the ordinary individual to write the program directly in machine language.
The programs are mainly written in a high-level language like python, java, etc. That high-level language code is known as source code. This source code is never executed directly by the computer; it must be converted into the machine language to be performed so, that we need the translator system for this purpose.
The assembly language is the primary programming language and available for every type of processor. The programmers can only work with the operations via assembly language, and these operations are implemented directly on the CPU.
Advantage of assembly language over machine language
- Easy to understand and use.
- Easy to locate the code and correct errors.
- We can easily modify the code.
- No worry about the addresses.
Limitations of assembly language
- Machine dependent.
- Knowledge of hardware is required when we use the assembly language.