This post will talk about what are programming language and their types, For Example, a two-person who want to communicate with each other need to know a specific language that understands humans it could be any language such as English, Spanish, Hindi, Marathi, German, etc.
Similarly, a programmer, or we can say a software developer also needs language to communicate with a computer.
So the language that can understand by a computer is called machine language (Or simply we can say computer language).
What is computer language?
A computer only understands 1 language which is binary language. Binary means 0 and 1, so language that can understand by a computer is called machine language or we can say computer language.
So this binary language is very difficult to understand a human so we cannot directly communicate with computers through binary language.
Machine language has only two digits 0 and 1.
Programmers cannot able to give instruction in machine language Because it has two main reasons as follows:
- Machine language is very hard to understand. because Binary languages 0 and 1 this language is hard to understand.
- .Binary language varies from computer to computer. For example, the method of making binary is different in two computers, so even if we learn any particular binary language then it is valid only for one computer.
What are programming languages?
So the programming language is simple, the programming language will be that in which the program (or we say software ) can be made.
Any such languages in which programs or software can be designed for computers, it will be called programming language.
Let me tell you that program and software both are similar terms there is no difference between them. Now you can call it a program whenever you want and you can call it software whenever you want.
So programming language is different from computer language. In computers, there is only one language 0 and 1.
Any programming language provides us with a set of instructions for computers to execute. That set of instructions is very easy to understand for programmers.
A programmer using a set of instructions provided by a programming language using that instruction programmer will develop a program (or we can say software) so thus we can say a set of instructions is a software program.
So now you have a question in mind what is programming?
It is very simple the process of writing a program is called programming. Similarly, the person who writes a program is called a programmer or software developer.
Now whatever software we make, we will make it in a programming language. Because the Programming language is built in such a way that can understand by humans (programmers) to communicate with computers.
Types of programming language
There are three types of programming languages such as:
- Low-level language
- High-level language
- Middle-level language
But mostly used only two languages that are low-level and high-level language.
Middle-level language is a feature of both low and high-level language. But middle-level language is not used mostly.
Low-level language
Low-level programming languages are called programming languages that have the ability to interact with hardware or we can say close to the hardware (hardware friendly).
That means low-level language has features to control, run and operate the hardware. All such programming languages, which have been given the facility to control the hardware, we called low-level languages.
In this language, there are some commands and functions that we give directly to a processor so that it works according to ourselves.
So this language is very good we mostly use this language to control the hardware. For Example, if there is a Hardware device printer, I have to make some software for the printer to work, then I use low-level language.
But this language is non-portable which means if we write a program for one machine it is not suitable for the second machine. We can also be called low-level language machine depended.
low-level is very close to hardware so when we write a program it runs very quickly plus it takes very less memory.
For example, we write programs in a low-level language like MOV, ADD, R, and 6. But this program cannot understand computers ( or machines). Computers understand only binary language.
So the program that we have written needs to convert into binary language so that machines understand. So to convert them into binary we need a translator.
The name of the translator is an assembler that converts our low-level language into binary so that computers understand and follow our instructions.
High-level languages
A high-level language is the complete opposite of a low-level language. We called high-level language because this language is very close to Programmers (Who do code and developed software) or we can say programmer friendly.
It is very easy to understand for programmers to develop software. The hardware supporting function within such a language is very few or not at all.
Generally, high-level language has nothing to do with hardware because mostly hardware-related functions you will not find in a high-level language.
As we know it is an easy language to understand for programmers. A programmer can write a program very easily in high-level language because it has natural language elements such as (symbols, numbers, and the alphabet).
Any person can understand this language because it is English use language such as alphabet, number, and symbols.
A program that can be written in high-level languages tends to be relatively portable. For example, If we wrote one program on one computer the same program can work on another computer so this language is not dependent on a particular machine.
It means if we have many different types of hardware machines then only one language is enough to work all hardware.
In a high-level language, there is no need to write a separate program for each hardware only one program will work for all the hardware.
The most common types of high-level languages are C, C++, Python, Java, C#, etc.
In a high-level language, the program we have written must be translated to binary language (the language that machines understand) by an interpreter or compiler.
Also, read other articles on the difference between a compiler and an interpreter.