Explained: Low Level And High Level Programming Language.
Hello World. Lets now learn about some of the terms quickly by first saluting father of the computer Charles Babbage. In this blog let me explain what is Low-Level and High-Level Programming Language.
This blog is for the students and persons like me. Who could not understand through the definition of terms and broke their head to understand? Persons who have understood in schools and collage itself my standing ovation to them. But its ok learning, one more time.
Computer machines can only understand 1 and 0. So it became very very important to make a programming language. Which can understand our problem and then give the necessary output?
Low Level Programming Language.
This is the first set of programming language, some time also called a second-generation programming Language.
The idea was simple the low-level programming language will interact with an assembler and assembler result will run in the processor. In some case set of instruction directly run in CPU.
Since its simple, the process takes less memory to run instruction and speed of output is fast. Low-Level Programming Language has two Language mainly.
One was Machine Code and other was Assembly Language.
What is Machine Code?
It’s a numerical Language. The instruction used will be directly controlling the Central Processing Unit (CPU). Which is very fast and takes up less memory because you’re interacting almost in computer language.
Now what problem faced here we will understand with an example: Consider you want to give numbers to all tasks which you do from morning till evening in a series of number. Hence you start numbering like this
1 – Wake Up.
2 – See Your Phone.
3 – Bathroom
4 – Breakfast.
So on, you divide the number to every task you perform. Then at the end of the day if you want to see which number you have given for taking coffee in office then you may not remember. Again you will see your chart of number right. Same way considers now all instructions are in numbers you have to remember numbers.
This was frighting, a person like me will surely collapse on the floor of the office. Its also said a very low-level programming language.
Now Definition: Machine Code consists of Machine Language which is low-level language and directly controls CPU.
Hope every one understood
What is Assembly Language?
Assembly Language is much more readable then machine code. Thank god, at least people like me will not faint, maybe understandable.
Small Opt codes like “movs r0; #1” was used, this tells CPU to move 1 to register 0. Assembly Language will interact with an Assembler (This is nothing but a converter) and set of instruction which converted to machine language passed to CPU for giving output.
See it’s very easy, wait a minute ! is this Assembler different for each computer architecture.
For instance, if I change CPU configuration or memory and register then again Assembler is different. Yes, Every Assembler has its own set of Assembly Language which will be designed for a very particular computer configuration.
Then this is disaster how come they survived this critical problem. Hats off to people who were working In this time.
Low-Level Programming Language Definition:
A Programming Language which provides little or no abstraction from a computer instruction set architecture. Commands in the language map closely to the processor.
Now again what is Abstraction?
Let me make you understand with an example, consider you want a website to your company. You come to website designers and ask to develop a website for your company. The company says ok and designs you a website and give. So hence the company is now acting as Abstract. You did not understand let me go in deep.
Now consider if the company tells you to go to its Architecture team. You go and then finish the job there then again the company tells you to go Designing Team with paper which Architure team gave you. Go to Designing Team you get all the design process done. Now again from the background company tells you to go to Content writing team then followed by testing and another team.
What will be your condition?
This is what companies do they abstract you in this tidies process and get your work done.
High Level Programming Language.
Now lot of abbreviations you have understood I will start with the definition
A high-level language is a programming language with strong abstraction from the details of the computer.
In low-level language uses only register, memory address. In a high level, we use Objects, Arrays, Variables, Constants, Functions, Methods, Loops, Etc. A high-level language is a portable language.
Remember in Assembly language codes were different for different computer architecture. Here in HLL, you can use a programming language with a different system with a different configuration.
Hope you understood the concept. In my next blog let me make understand a different magical word in programming.
Did You Know : In 1937 to 1946 computers weighed tons with over 10000 to 20000 vacuum tubes. 1958 instead of vacuum tubes transistors were used. If the computer did not evolve then you and I should also study mechanical engineering to operate a computer.