Saturday, February 27, 2010

Classification of Programming Languages

Computer programming language can be classified into two major categories: 

•Low Level

•High Level    




Low Level Languages


The languages which use only primitive operations of the computer are known as low language. In these languages, programs are written by means of the memory and registers available on the computer. As we all know that the architecture of computer differs from one machine to another, so far each type of computer there is a separate low level programming language. In the other words, Programs written in one low level language of one, architectural can’t be ported on any other machine dependent languages. Examples are Machine Language and Assembly Language.




Machine Language


In machine language program, the computation is based on binary numbers. All the instructions including operations, registers, data and memory locations are given in there binary equivalent.


The machine directly understands this language by virtue of its circuitry design so these programs are directly executable on the computer without any translations. This makes the program execution very fast. Machine languages are also known as first generation languages.


A typical low level instruction consists essentially of two parts:


•An Operation Part :
Specifies operation to be performed by the computer, also known as Opcode.


•An Address Part :
Specifies location of the data on which operation is to be performed.




Advantages


Machine language makes most efficient use of computer system resources like storage, registers, etc. the instruction of a machine language program are directly executable so there is no need of translators. Machine language instruction can be used to manipulate the individual bits in a computer system with high execution speed due to direct manipulation of memory and registers.


Drawbacks


Machine languages are machine dependent and, therefore, programs are not portable from one computer to other. Programming in machine language usually results in poor programmer productivity. Machine languages require programmers to control the use of each register in the computer’s Arithmetic Logic Unit and computer storage locations must be addressed directly, not symbolically. Machine language requires a high level of programming skill which increases programmer training costs. Programs written in machine language are more error prone and difficult to debug because it is very difficult to remember all binary equivalent of register, opcode, memory location, etc. program size is comparatively very big due to non-use of reusable codes and use of very basic operations to do a complex computation.


Assembly Language


Assembly language are also known as second generation languages. These languages substitutes alphabetic or numeric symbols for the binary codes of machine language. That is, we can use mnemonics for all opcodes, registers and for the memory locations which provide us with a facility to write reusable code in the form of macros. Has two parts, one is macro name and the other is macro body which contains the line of instructions. A macro can be called at any point of the program by its name to use the instruction. A macro can be called at any point of the program by its name to use the instructions given in the macro repetitively.


These language require a translator known as “Assembler” for translating the program code written in assembly language to machine language. Because computer can interpret only the machine code instruction, once the translation is completed the program can be executed.


Advantages


Assembly language provide optimal use of computer resources like registers and memory because of direct use of these resources within the programs. Assembly language is easier to use than machine language because there is no need to remember or calculate the binary equivalents for opcode and registers. An assembler is useful for detecting programming errors. Assembly language encourages modular programming which provides the facility of reusable code, using macro.


Drawbacks


Assembly language programs are not directly executable due to the need of translation. Also, these languages are machine dependent and, therefore, not portable from one machine to another. Programming in assembly language requires a high level of programming skills and knowledge of computer architecture of the particular machine.

High Level Languages (HLL)



All high level language are procedure-oriented language and are intended to be machine independent. Programs are written in statements akin to English language, a great advantage over mnemonics of assembly languages require languages use mnemonics of assembly language. That is, the high level languages use natural language like structures. These languages require translators (compilers and interpreters) for execution. The programs written in a high level language can be ported on any computer, that is why known they are known as machine independent. The early highlevel language come in third generation of languages, COBOL, BASIC, APL, etc.
These languages enable the programmer to write instruction using English words and familiar mathematical symbols which makes it easier than technical details of the computer. It makes the programs more readable too.


Procedures


Procedures are the reusable code which can be called at any point of the program. Each procedure is defined by a name and set of instructions accomplishing a particular task. The procedure can be called by its name with the list of required parameters which should pass to tat procedure.


Advantages of High Level Languages


These are the third generation languages. These are procedure-oriented languages and are machine independent. Programs are written in English like statements. As high level languages are not directly executable, translators(compilers and interpreters) are used to convert them in machine language equivalent.


Advantages


1)These are easier to learn than assembly language.
2)Les time is required to write programs.
3)These provides better documentation.
4)These are easier to maintain.
5)These have an extensive vocabulary.


Limitation of Programming language


1)A long sequence statements is to be written for every program.
2)Additional memory space is required for storing compiler or interpreter.
3)Execution time is very high as the HLL programs are not directly executable.
Video Converter for Mac

No comments:

Post a Comment