Home » Microprocessors and Microcontrollers » What is High Level Language in Microprocessor?

What is High Level Language in Microprocessor?:

The demerits of assembly languages are overcome by using high-level languages. High-level languages can improve the readability by using English words which make it easier to understand the code and to sort out any faults in the program. In addition, the high-level languages relieve the programmer of any need to under­stand the internal architecture of the microprocessor. Ideally, the programmer need not even know what pro­cessor is being used. For programs written in high-level languages, any type of computer can be used easily. Therefore, the program should be totally portable. The programs written in high-level languages are very easy to write and fast to execute but a compiler is required to translate high-level language into machine codes, as the microprocessor can understand only machine code, 1 or 0.

High Level Language in Microprocessor

Translators Translators translate high-level programming language to binary codes and make the program understandable for the computer. There are two general types of translators, namely, compiler and interpreter. The compiler translates an entire program at one time and then executes it. The interpreter also translates one program line at a time while executing. The differences between compilers and interpreters are given below:

Differences between compilers and interpreters

Instructions written in high-level languages are called statements. High-level languages allow program­mers to write instructions that look almost like everyday English and contain commonly used mathematical notations.

High-level languages are much more desirable from the programmer’s point of view. Translator pro­grams called compilers convert high-level language programs into machine language. FORTRAN, COBOL, BASIC, PASCAL, ALGOL, PL/M, C/C++ and Java are among the most powerful and most widely used high-level languages. The features of some such high-level languages are discussed in this section.

Advantages of High-Level Languages

  1. In high-level languages the programs are written using instructions and each instruction is very clear about performing a specified operation.
  2. Writing programs in high-level languages is very easy and fast. These languages are suitable for large programs and for developing large projects.
  3. Programs are portable in high-level languages and can be executed in any standard.
  4. Complex mathematical computation is possible in these languages.
  5. Report writing and documentation are simple in high-level languages.
  6. The program is independent of the internal architecture of the ,microprocessor structure. The pro­grams are problem-oriented and can run in any standard computer.

Disadvantages of High-Level Languages

  1. Each high-level language has a standard syntax and specified rules to write programs.
  2. Each statement of a high-level language is equivalent to many instructions in machine language. Therefore, the execution time of programs written in high-level languages is more and to reproducing results, also takes more time. So the high-level language speed is slow compared to that in assembly language.
  3. Hardware and software supports are required.
  4. Large volume of data needs to be processed in high-level language and programs in high-level lan­guages require large memory. Hence, memory utilization is less.
  5. To translate a high-level language program into a machine-language program, a compiler is required. Most compilers are costly.

Fortran

FORTRAN stands for FORmula TRANslator. IBM introduced this language in the mid-1950s’ primarily for scientific and engineering applications. This was the first high-level language to gain widespread acceptance. FORTRAN has built instructions to handle most scientific formulas such as sine, cos, tan, etc., which are extremely difficult to write in assembly language.

A FORTRAN program must first be converted into the machine code understood by the microprocessor. If the FORTRAN program can be converted to machine code, then it follows that the program could have been written in machine code in the first case. It is just a matter of saving an enormous amount of work.

In 1958, a re-defined language called FORTRAN 2 was developed by small additions of new ‘dialects’ and alterations. After that, FORTRAN 3 and 4 were developed. In the early 60s, FORTRAN 4 was very popu­lar. In 1966, FORTRAN 66 was designed with new dialects. In 1977, the American National Standards Institute (ANSI) published a standard for FORTRAN. This standard form of the language is known as FORTRAN 77 is industry and education institutions.

The absolutely final and totally definitive FORTRAN is FORTRAN 90. Presently, FORTRAN 95 ver­sions are also available. Each new version included extras features rather than changes. This ensured that all previous versions were incorporated in the next versions and even a system designed for FORTRAN 90 can still use the original FORTRAN.

Basic

BASIC stands for Beginners All-purpose Symbolic Instruction Code. In the early days, the emphasis was given on ‘easy to learn’ and ‘use of minimum memory’. These two attributes were very useful in colleges but not in the real world. In 1960, a simplified language was developed in Dartmouth College, USA. This Language was known as BASIC (Beginners’ All purpose Symbolic Instruction Code). It was based on FORTRAN and was designed as a simpler language and easier to learn.

The most popular versions are Q-BASIC, GW BASIC and Quick Basic. Q-Basic is a menu-oriented language, It provides a Graphical User Interface (GUI). In 1991, a new version called Visual Basic appeared which has features to make the generation of Windows programs much easier.

To save memory, BASIC was designed as an interpreted language. An interpreter rather than a compiler carried out the conversion of the source code to the object code. The compiler converts the whole program into object code, stores it, and then runs the program. The interpreter takes a different approach. The first instruction in the program is converted to source code and it is then executed. The next item of the source code is then converted to object code and then run, and so on, right through the program. The interpreter never stores the whole of the machine-code program. It just generates it, a line at a time, as needed.

Cobol

COBOL stands for Common Business-Oriented Language. FORTRAN and BASIC did not make enor­mous steps towards employing normal English-language phrases. In 1959, COBOL was introduced by the US Defense Department to make easy-to-read business programs. Its purpose was information handling. It proved to be successful at this and spread from the US Navy where it kept records of stocks and supplies, to the business world. COBOL was designed, more in hope than reality, to be easily read by nonprogrammers.

Large businesses handle enormous amounts of information every day. Just imagine the amount of information involved in a few everyday activities like handling bank accounts, credit cards, stock information, prices, dates, our card numbers, and names. All such data are transmitted to the national card centre and our accounts are amended. None of these transactions involve particularly complicated mathematics. The calcu­lations are basically addition and subtraction of totals.

COBOL has survived by meeting a specific need and has had a series of upgraded standard versions. They refer to the date of adoption: COBOL 60, COBOL 74, COBOL 85 and COBOL 97.

Pascal

PASCAL was first designed by Nicklaus Wirth in Switzerland in 1971. This is mostly an academic language but was also suitable for scientific applications. During learning other languages, a short course of Pascal is often employed as an introduction. Pascal is used because it is very useful for beginners. Pascal is a structured language. A structured program consists of a series of separate, self-contained units, each having a single starting point and a single exit point. The program layout looks like a simple block diagram with all the blocks arranged one under the other. Every unit can be isolated from the others.

This is a compact language and its compiler is quite suitable for a smaller system. Program design and debugging in Pascal is simpler. This language produces a very efficient machine-code program when it is compiled. Pascal is several times faster than BASIC or FORTRAN. This is more versatile than BASIC and more modular than FORTRAN. Pascal can handle numbers, vectors, matrices, strings of characters, sets, records, files and lists.

C

The language C was invented a year after Pascal and allowed all the good practice programming methods of Pascal with a few extras. The main difference between C and Pascal is that C is a lower-level language than Pascal. It is a powerful, flexible and very efficient language used in writing operating-system code and software package. Its advantage is that it can control low-level features like memory loading as in assembly language. It has many high-level features and low-level facilities when we require them and can produce very compact, and therefore fast. code.

C++ and Object-Oriented Programming (OOP)

The new version of C which incorporates all features of the C language and adds a new feature, is known as Object-Oriented Programming (OOP). This version of C is known as C++. Object-oriented programming is a different approach to programming. In these languages, a number of objects may be of any form of data such as a diagram on a monitor screen, a block of text or a complete program. Once objects are defined, some storage areas are allocated for an entire object at the same time.

For example, suppose you have a square/circle on the monitor screen and you wish to move it. There are different ways to do this. For this, take each point on the screen and shift its position, and hence rebuild the square/circle in a different position. The object-oriented approach must define the shape as an object, and then instruct the object to move. We use a mouse to take hold of an object, say a menu, and simply drag it to a new position. The menu is being treated as a single lump, which is an example of an object.

LISP

LISP was designed in the early 1960s by an American, John McCarthy. LISP (List Processing) involves the manipulation of data, which are entered by the keyboard. This language is suitable for artificial intelligence, searching, handling and sorting long strings. LISP is a function-oriented language. This means that functions such as add, subtract or more complex combinations can be easily handled through this.

A sample of LISP is a list consisting of a series of ‘members’ separated by spaces and enclosed in brackets. A simple function defined as (PLUS 6 4) would return 10 by adding the two numbers. Since LISP is an inter­preted language, the program is executed one step at a time, and so inputted values are used they are entered.

APL

The APL stands for ‘A Programming Language’. This is an interpreted language developed by IBM around 1962. This is only used for handling numerical data. Actually, it is a curious mixture of LISP and FORTRAN. It combines the function orientation of LISP and the procedural mathematics of FORTRAN. This language allows users to define functions and has a large library of solutions to common problems. This requires a special keyboard and terminal as special symbols are used for sin, cos and tan, etc.

ADA

This language was named after Lady Augusta Ada Lovelace. CII-Honeywell-Bull of France introduced it in 1980. It is a multipurpose language suitable for both scientific and business applications. This language combines the best features of Pascal, ALGOL and PL. It also has the feature of real-time multitasking required in con­trol applications. It has complex subroutines, which are used as software components while writing programs. Actually, this is a ‘do-everything language’.

PROLOG

PROLOG stands for PROgramming by LOGic. It is a ‘declarative’ language. It was first developed at the University of Marseillers, France, in 1972. Other versions were developed, such as DEC10, and IC PROLOG in the UK and the US. PROLOG is a nonprocedural language. This is capable of handling large databases and can be used in the development of artificial intelligence and expert systems.