In this post, we will discuss “What is Programming Language?” and it’s types. But before that, let’s understand “What is Language?”.
In simple words, language is a medium of communication to communicate with a human or a person. For example, English, Hindi, Spanish or other languages.
To communicate with a person, you need a language. Similarly, to communicate with a computer you need a programming language.
Computers can not perform anything on their own. Therefore, a person or a programmer has to give some instructions to the computer to perform something. The programmer write these instructions in a specific style (known as coding) to perform a specific task. We call these instructions program or code. And we call the language used to write these instructions as programming language.
Basically, there are two types of computer programming languages.
- Low Level Programming Language
- High Level Programming Language
1. Low Level Programming Language
These are platform dependent programming languages such as Binary Language (also called Machine Language) and Assembly Language.
While writing the low level language programs the programmers can easily access the computer memory and work with the data directly.
We need to keep in mind that computers can understand Binary Language only. And Binary Language has only two values; 0 and 1. So, in Binary Language whatever you want to say has to be in the form of 0s and 1s.
Binary Language does not need any interpreter or compiler to convert the language to any form. This is because computer understands these instructions directly. But, computers can not understand instructions in Assembly Language. Therefore, the programmer needs to convert the program written in Assembly Language to it’s equivalent Binary code. To convert an assembly code to its equivalent Binary code the programmer use a program called Assembler.
2. High Level Programming Language
These are the platform independent programming languages. The programs are easy to write, read, edit and understand. For example, Java, .Net, Pascal, COBOL, C++, C, C# etc.
While writing the high level language programs the programmers can not directly access the memory and work with data.
High level programming languages have some special keywords, functions and libraries. By using them a programmer can easily build a program. But we know that the computer only understand Binary Language. Therefore, to convert a high level program to its equivalent binary code the programmer need compilers or interpreters.
Low Level Language Programs v/s High Level Language Programs
Low Level Language Programs | High Level Language Programs |
Programs written in low level languages are platform dependent. That means the programs can run on computer with same configuration. You cannot run them on computer that has different configuration. | Programs written in high level languages are platform independent. That means the program can run on different hardware with different configuration, but operating system needs to be same. |
Low level language programs execute faster than high level language programs. So performance is high. | High level language programs are slower than the low Level language programs. |
Programs written in low level languages are not easy to understand. | Programs written in high level languages are easy to read, edit, debug and understand. |
Computer understands these programs without any translation. (Though an Assembler is used to translate an Assembly program to its equivalent binary or machine code.) | High level language programs are translated by the compilers or interpreters to its equivalent binary or machine code. |