Answer :

Long ago it was only possible to program computer to do computations, in a machine level language. One could write a program and correct it and get the answer - all this took days together. One had to know about the computer to write a program and execute on that computer.

Low level languages are difficult to WRITE programs, programs are very long. It is easy to make mistakes.  Use of programs written by others also requires some care and is time consuming. These are computer specific.

High level languages facilitate writing programs easily. The elimination of possible mistakes is better,  The thinking of a programmer will be in terms of solving the problem and not on the computer platform.  The high level languages are independent of the computer - small or big, from Intel or HP or Motorola company etc.

You write a program and it is portable on all computers that support the compiler for that language.  Very popular high level languages are  C, C++ , JAVA, C#, and so on.

Of course, the programs in high level languages are easier to understand.

Low level program to find average of two numbers, can look like this

Data segment 
Data1 :  xxxxx
data2 :  xxxxxxx
end of data segment

code segment
start: MVI  Reg1, Data1
         ADI  Reg2, Data2
         DVI  Reg2 , 2
         STOR  Reg2, @addr
end:   stop

High level language can look like this :

MAIN program
INTEGER X = 6, Y= 9 ;
   PRINT ( ( X + Y ) / 2  );
END

The answer to this question is endless... I can go for providing lots of reasons about the popularity of HLL,

But I will tell you 2 or 3 powerful reasons that makes HLL popular... 

(1) Think about a situation when you are bounded to do something by a specific manner and another situation is when your free to do the same task in any manner you want.
Which one is better??? Obviously the second one,, because you are free to do things in your own way. The same thing is with HLL.
HLL provides you the platform to define your own syntactical and semantics way, to perform some task. You need not to depend on the predefined way of writing rules as in MACHINE LANGUAGE, PASCAL, COBOL, FORTRAN etc...

(2) Now think of something, which is dependent over hardware and will not work on any other hardware... It is surely not good.
If I am writing a code for 32-bit machine, It would run on a 64-bit sometimes but sometime behave dramatic So, We need something that never depends on the hardware changes. 
HLL are something that can be easily ported from one hardware to another hardware and it can be easily embedded with software to perform the best result.

(3) One more thing, thing of the situation when you are writing solution to your problem and then there is just one person to make sure that your solution is correct, but on the other hand if you have several persons to tell about the correctness of your solution, it's the best thing you can have...
HLL can be supported by many compilers vendors. This is also a reason for increasing the portability of HLL on any type of OS platform, doesn't matter whether you are working on Windows, Max, Linux ......



---Abhimanyu Singh
C/C++/Java Programmer
Nagarro Software Pvt. Ltd.

Other Questions