Types of Programming Languages

Programing Languages can be classified into basic 3 categories.
  • Machine Level Language
  • High Level Language
  • Assembly Language

Machine Level Language:


Machine Level Language ( A.K.A - Lower Level Language) - instructions are written as sequences of 1s and 0s, called bits, that a computer can understand directly.
An instruction in machine language generally tells the computer four things:

  1. Where to find one or two numbers or simple pieces of data in the main computer memory (Random Access Memory, or RAM).
  2. A simple operation to perform, such as adding the two numbers together.
  3. Where in the main memory to put the result of this simple operation.
  4. Where to find the next instruction to perform.

While all executable programs are eventually read by the computer in machine language, they are not all programmed in machine language. It is extremely difficult to program directly in machine language because the instructions are sequences of 1s and 0s. A typical instruction in a machine language might read 10010 1100 1011 and mean add the contents of storage register A to the contents of storage register B.


According to the Utah State Office of Education, a low level language is one that does not need a compiler or interpreter to run. The processor in which the language was written for would be able to run the code without the use of either of these. These type of programming languages are sometimes described as being "close to the hardware."


These type of languages fall under the 1st Generation Language (1GL).


Assembly Language:


An assembly language is a low-level language for programming computers. It implements a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture. This representation is usually defined by the hardware manufacturer, and is based on abbreviations (called mnemonics) that help the programmer remember individual instructions, registers, etc. An assembly language is thus specific to a certain physical or virtual computer architecture (as opposed to most high-level languages, which are portable). Computer programmers use assembly languages to make machine-language programs easier to write.


In an assembly language, each statement corresponds roughly to one machine language instruction. An assembly language statement is composed with the aid of easy to remember commands. The command to add the contents of the storage register A to the contents of storage register B might be written ADD B,A in a typical assembly language statement. Assembly languages share certain features with machine languages. For instance, it is possible to manipulate specific bits in both assembly and machine languages. Programmers use assembly languages when it is important to minimize the time it takes to run a program, because the translation from assembly language to machine language is relatively simple. Assembly languages are also used when some part of the computer has to be controlled directly, such as individual dots on a monitor or the flow of individual characters to a printer.


Assembly languages were first developed in the 1950s, when they were referred to as 2nd Generation Language (2GL). They eliminated much of the error-prone and time-consuming 1st generation programming needed with the earliest computers, freeing the programmer from tedium such as remembering numeric codes and calculating addresses. They were once widely used for all sorts of programming.



High Level Language:

High-level languages are relatively sophisticated sets of statements utilizing words and syntax from human language. They are more similar to normal human languages than assembly or machine languages and are therefore easier to use for writing complicated programs. These programming languages allow larger and more complicated programs to be developed faster. However, high-level languages must be translated into machine language by another program called a compiler before a computer can understand them. For this reason, programs written in a high-level language may take longer to execute and use up more memory than programs written in an assembly language.


Some eg. of High Level Languages:Visual Basic, C/C++, Pascal, BASIC etc..


High Level Languages comes under the 3rd Generation Language (3GL).

Back : Introduction
Next : Types of High Level Language

1 comment:

apeg said...

what about 4gl man