We know that computer is an electronic device. The simple definition of computer can be as follows: “Computer is an electronic device capable of doing some specific task which takes some input processes it and produces output.” Computers do have their own memory.
Generally the input which is given to the computer is termed as raw data and the output what we get from the computer is called information. So, useful data to the user is called information. It is not necessary that a piece of information will be information for all the users. For the Income Tax department income of a particular person is not necessarily information for them. Instead it is simply a data on which Income Tax department will work and extract information that how much tax to be collected from that person.
Now, since computer is an electronic device, it won’t understand our language. Consider ceiling fan. It is electrical equipment. It understands only electric signal in voltage or ampere. So, if we want to instruct the fan to start, our instruction must be converted into electric signal. This conversion is done by the electric switch. That means, we give instruction to the fan through electric switch.
The same way if we want to give instruction to computer, our instruction must be converted into the form which computer understands. We give instruction to the computer through commands. For doing a simple task we have to give a series of commands to the computer. For example to print a character on monitor, the set of instructions may be ( rough not accurate, just an example ):
- Get the signal from the keyboard
- Interpret the signal and decode into the corresponding character
- Store the character into memory
- Send the same character to IO Unit
- Display the same character on monitor.
So, if we have a complex task, then it won’t be feasible to sit before the computer and give all commands one after another.
To make this operation we write programs. Programs are nothing but sequence of instructions or commands which does specific tasks.
How to write programs?
So to get some work from the computer we have to write the desired program. Computer understands only binary numbers i.e. 0 and 1. Here 0 represents low voltage and 1 represents high voltages. All the instructions what we want to give to computer should be in this binary format. But sitting at one place and writing sequence of zeros and ones is very time consuming and if any error is occurred then it will be difficult to rectify the error. So this way of writing program is not feasible.
Next approach for programming is by using mnemonic codes. Of course, here in this case we can use words instead of binary bits. So at least it will be little easy. But to write programs using this approach is also not feasible. We have to remember thousands of mnemonic codes, their syntax and how to use them. Again, if any error is committed it will consume lot time for debugging that.
As far as execution is concerned, we know that computer understands only binary bits. So if we have a program written using mnemonic codes, the program must be converted to binary format. For this we need to use one translator.
Another approach is using high level languages. High level languages are the languages which are easily understood by the programmers. But still if a program is written using high level language it has to be converted to a low level equivalent.
For converting program written in high level language to low level equivalent we can use compilers. Compiler is a translator (a program) which translates a program written in high level language to the corresponding program in low level language.
Classification of Programming Languages
Programming Languages can be classified as:
1. Low Level Language (LLL)
Low level languages are those languages which are very close to computer. Computers can easily understand low level language. But for a programmer it is difficult to understand the language. Designing/Writing program using low level programming language takes much more time. If any error occurs then debugging also takes more time.
As far as execution is concerned, execution is faster, because computer can easily understand low level language.
Example of Low Level Language is Assembly Language.
2. High Level Language (HLL)
High level languages are those languages which are easily understood by the user or programmer. Designing/Writing program using high level language is faster since the language is easily understood by the user or programmer. But execution is slower as compared to the program written in low level programming language because it has to be translated to low level first. For translation it will consume some time, which is not the case in low level languages.
Example of high level programming language are : C and Java
3. Mid Level Programming Language
This is just a conception. There is no such language which is a mid level language. So, why such languages are called mid level language? Mid level languages are those which has got the features of both high level language and low level language. C programming language is considered as mid level language.