Note: Click on the underlined words to know about separate terms we have written articles about.
We have, in our previous articles, described about the IT Field, the Hardware field and the Software field. And now let’s see how every Software has achieved reality. As we said in our previous article, all the software applications that are either within the system or from external sources, are done using the help of our interaction with the computer… Let’s talk about how we interact to the computers in this article.
What actually is Programming?
In order, to achieve what we wish to be done, we need to tell or command the computer to do specific actions apart from what we normally do. So, we need to command or “program” a computer to accomplish what we desire. This process of ordering or commanding or instructing what a computer should do is known as programming.
What is a Programming Language?
The significance of languages is to express what we think and instruct what we need(whether it is achieved or not). Similarly, we need a language in order to communicate or program the computer what is required. Since the computer cannot understand the normal languages like English, French, Tamil and Hindi, we need specific languages through which we can communicate with the computer. This requirement led to the introduction of languages to communicate with the computer known as “Programming Languages”. Through them. we are able to achieve what we will to do. Let us know about them in detail.
Basic divisions of Programming Languages
Let us start with the basic hierarchy through which all the programming languages are classified. The are basically three divisions of computer languages-the low level, the middle level and the high level languages. Instead of giving just a summary to all of them, let us get a little more explanation of them by our own orders.
Low Level Languages
Low level languages are the programming languages that are understood or processed by the computers. Computers cannot understand our basic languages and they will understand only binaries, that is, the 0’s and 1’s . In order for the computer to do some work, we need to give instructions which it ca understand in the form of binary. It understands the binary code and it performs the actions.
Middle Level Languages
Middle level language is a language which is equally understandable by both the computer and the humans. That is, it lies in the middle of the “scale of understanding” . These languages are used for their advantages like fast compilation and fast output.
High Level Languages
High level languages lie in near the “human” side of the “understandable scale”. They are very easily understood by the humans than the machines, although they take a little bit time for translating for the computers to understand. But performance and understanding wise, they are better than the middle level languages.
We have now come across what computer can understand and what we can understand. But still why do we use middle or high level languages when the computer can understand the binary? Why can’t we program in binary? Of course, we can program in Binary, but it is nearly impossible for us to understand every single thing into binary and trying to understand and program it to the computer, which might take forever. So we shall stick to our middle and high level languages, and let the computers be with their low level ones. Then how can they understand what we are trying to convey? They use the translators which translate our language to theirs and vice versa so that the computer can understand our language and we can understand how it has understood using the outputs. The main types of translators are compilers, interpreters and assemblers, in which the first two are most widely considered as significant ones.
The difference between Compilers and Interpreters
Despite their main work is same(i.e)translating, the compilers and interpreters have different works in the go. Let us take a language that is compiled and a language that is interpreted like C and Python respectively. In C, all the lines are read completely and whatever mistakes (or) errors that you’ve made will be listed out. In Python, as soon as an error is found, wherever it is, the interpreter stops reading it. And once the error is rectified, the interpreter starts running again.
Pros and Cons of Compilers and Interpreters
The main advantages of Compiled languages are that they use low amount of CPU cycles and memory. Their speed for lines of code are faster. Their disadvantages it it is harder for the compiler itself to debug. Interpreters are on the side are evolved for better debugging and performance, but are slower and use higher CPU cycles.
Types of Middle and High Level Languages
It is not certain that all the requirements can be established by a simple programming language. There are hundreds of programming languages and toolkits with which you can perform specific functions. That is, one language is unique from the other in one or the other scope. Some may be based on frontend or the face of an application, some of them are used for the backend or the requirements beyond the face or whatever going on behind the applications.
This is all about programming and programming languages. The scope of them? Of course, they are used in building and running applications even to the slightest. To know how you’ll be working as a programmer, read out the previous article. Stay tuned until we’ll be discussing about further departments worthy to mention in our next article.