High Level Language (Advantages, Disadvantages & Types)

High level language is much closer to human language so it is more suitable to write code in high level language. It is more or less independent of the particular type of computer used (i.e. more portable) and has its own set of rules called syntax. Its main advantage is that it is easier to read, write and maintain. The first high level programming languages were designed in the 1950s. Now there are dozens of such languages available such as BASIC, COBOL, C, C++, FORTRAN, LISP, PASCAL, prolog, etc. This language is lot slower in terms of execution as compared to low level language. Compiler or interpreter is used to convert high level language to machine language.

Working of Compiler or Interpreter
Figure: Working of Compiler or Interpreter

Advantage of High Level Language

High level language has following advantages :

  1. Easy to Use and Understand : High level language uses English like words and they are closer to natural language which makes easy to learn and understand. Programmer need not to understand detailed computer architecture for writing programs using high level language.
  2. Machine Independent : Programs written in high level language are portable and hence program written using high level language can be executed on any type of computer with little or no modification at all.
  3. Debugging is Easy : High level language makes easier to write and debug a program and gives the programmer time to think about overall logic rather than thinking about program code. Because of the use of compilers and interpreters, errors can be detected and located easily.
  4. Easy to Maintain Program : Modification and maintenance of program written in high level language is easy compared low level language.

Disadvantages of High Level Language

High level language has following disadvantages :

  1. Poor Control on Hardware: Since high level languages are away from hardware and programmer does not need to be aware of hardware, accessing and controlling hardware directly is difficult.
  2. Slow Execution: Program written in high level language need to be translated to machine language. This translation process increases the execution time of program.

A high level language can be further categorized into object oriented and procedural programming language.

Procedure Oriented Programming Language

Procedural programming is based upon the idea of series of procedure calls. A programmer writing program in this language can exactly specify a sequence of steps in order to perform a particular task. Languages which express step-by-step algorithms written to solve a problem are known as procedural languages. A procedure may be a program in itself that may be called within a main program, a subroutine or another program. A programmer knows exactly what is to be accomplished at the end of the program and uses a sequence of algorithmic steps in order to achieve it. C language is example of procedure oriented programming language.

Object Oriented Programming Language

In object oriented programming; the data (i.e. variables) and code are combined to form objects. This allows more effective code duplication which is not the case when programs are divided into subroutines (or functions). The required programming parts can be called again and again within the program. Its main distinction with procedural programming is that in procedural programming task is divided into subroutines, structures and functions. Whereas in object oriented programming, data as well as functions and subroutines are encapsulated to form objects. C++ language is example of object oriented programming language.