INTRODUCTION OF HIGH LEVEL LANGUAGE
As we are now familiar with machine language and assembly language and the requirement needed to write programs in these two languages is a programmer must to have intense knowledge of the internal structure of the hardware of the computer along with the knowledge of programming. Since in these languages writing a program is tedious because while writing a program in any of the these language a programmer need to remember the operation codes (OPCODE) and their operations executed by these operation codes in details and also their effects on the computer registers. An OPCODE tells the computer to perform the functions. Now for being a good programmer, a programmer needs to concentrate only on the logical side of the problem except giving more attention or value to the internal structure of hardware of the computer. Thus to overcome these problems high level languages were developed because high level languages are problem oriented rather than focusing on the internal structure of the computer. Programming in high level language does not require any internal knowledge of the computer system. High level languages give permission to the programmer to write their programs using English words which is more recognizable to the programmer. It also supports some mathematical instructions and notations or symbols to write program for evaluation of mathematical oriented problems. This property of high level languages felicitates the programmer to write his program easily. One another benefit of high level language is that for writing a program using high level languages, a programmer need not to be expert in programming or we can say a person having a little bit knowledge of the programming can be able to write programs. Let us have an example writing a program in one of the high level languages in FORTRAN, suppose we want to add or subtract two numbers namely FRST and SCND and to store the answer in ANSR. We can write the instruction just in one step as:
ANSR = FRST + SCND (To add the above numbers)
Or ANSR = FRST – SCND (to subtract the above numbers)
From the above example we can see that a programmer has freedom to assign their inputs and outputs any names whatever they want or we can say that if a programmer is expert in only business oriented programming and when he is asked to write a program then he uses business oriented word in the program. Similarly when scientist wants to write a program then he can use scientific oriented words and formulas in his program. Thus a business oriented programmer can use business terms and a mathematical or scientific oriented programmer can use mathematic or scientific oriented terms in their respective programs.
TYPES OF HIGH LEVEL LANGUAGE
ADVANTAGES OF HIGH LEVEL LANGUAGE
The advantages of high level language over machine language and assembly language are listed below.
- EASY LEARNING AND WRITING
- MACHINE INDEPENDENT
- LESS ERROR
- LOW COST PROGRAMMING
- BETTER DOCUMENTATION
- EASY TO MAINTAIN
EASY LEARNING AND WRITING:
High level languages are easier than machine language and assembly language. Any person can learn them and can write programs in high level language because the terms a programmer can use in his program instruction are more familiar or we can say those terms are used in our everyday life. Since in machine language different numbers systems are used to write programs and in assembly language mnemonic codes were used to write programs but in high level language English alphabets for assigning names to instruction and mathematical symbols are used for operations which are familiar to almost every person. A programmer need not to know everything about a computer specially about the internal hardware structure of the computer, he also need not to worry about storing the data and where to store then.
High level languages are machine independent. And this is the most valuable advantage of the high level language over machine language and assembly language. Thus high level languages have no concern with the internal hardware structure of the computer. For example if a company or organization want to replace their old computers and want to install new ones then they will not have to worry about the programs written in high level language. There may be possible that the programs need a small change in their code for the proper functioning in new computers but these small changes are not as big as writing new programs. Thus finally it concludes that high level languages can be used in every computer with any configuration.
In case of high level languages errors in programs occur fewer than writing programs in machine language and assembly language. It is because when programmer writes a program in high level languages he need not write all the small steps carried out by the computer, because the computer takes care of all those little details. Thus the probability of appearing error in the program gets down. The computer itself does not make error unless something goes break down. Furthermore, compilers are so designed that they can easily and automatically detect error made by any programmer.
LOW COST PROGRAMMING:
Programming in high level languages costs less than programming either in machine language or in assembly language. Because high level languages are easier to write thus they take less time and less human efforts which finally decreases the cost of the preparation of the program.
Documentation of high level languages is easy because it is designed in such a way that the programs written in high level language use familiar terms which are used in daily file. Thus programs written in high level languages can be understood by any person using a little bit effort. Hence high level programs can be documented easily rather than assembly and machine language.
EASY TO MAINTAIN:
Programs written in high level language can be maintained easily than programs written in either in machine or assembly language. Since high level programs are easy to understand. Any error in the program can be easily located, corrected. One can also remove or insert any of the instruction from the program. If one wants a major change in the program then it is also possible with a little effort.
LIMITATION OF HIGH LEVEL LANGUAGES
With some advantages there are some limitations of high level languages too. The limitations are listed below:
- LOWER EFFICIENCY
- LACK OF FLEXIBILITY
LOWER EFFICIENCY: Programs written in machine language and assembly language takes less time to run rather than a program written in high level language. Because program written in machine language and assembly language can be understood by the processor without any help translator but in case of high level languages programs they need a translator which can translate them into machine understandable language. High level languages also take more main storage.
LACK OF FLEXIBILITY: The lack of flexibility means that some tasks cannot be done in the high level languages or they can be done one with great difficulty. Some features of high level languages cannot be controlled by a programmer but in assembly language all features can be controlled by a programmer. Certain types of operations which can be programmed by the assembly language cannot be done by the high level languages or they are impractical to be done.