Sie sind auf Seite 1von 7

Advantages

Assembly language is easier to use than machine language.


An assembler is useful for detecting programming errors.
Programmers do not have the absolute address of data items.
Assembly language encourage modular programming.

Disadvantages

Assembly language programs are not directly executable.


Assembly language are machine dependent and, therefore, not portable from
one machine to another.
Programming in assembly language requires a higher level of programming
skill.

Advantages

Machine level instructions are directly executable.


Machine level language makes most efficient use of computer system
resources like storage and register
Machine language instruction can be used to manipulate individual bits.

Disadvantages

As machine level language are device dependent, the programs are not
portable from one computer to another.
Programming in machine language usually results in poor programmer
productivity.
Programs in machine language are more error prone and difficult to debug.
Computer storage location must be address directly, not symbolically.
Machine language requires a high level of programming skill, which increases
programmer training costs.

Advantages

These are easier to learn than assembly language.


Less time is required to write programs.
They provide better documentation.
They are easier to maintain.
They have an extensive vocabulary.
Libraries of subroutines can be incorporated and used in many other
programs.
Programs written in high level languages are easier to debug because
translators display all the errors with proper error messages at the time of
translation.
Programs written in high level languages are largely machine independent.
Therefore, programs developed on one computer can be run on another with
little or no modifications.

Programming Language Classification


The programmer communicates with a machine using programming
languages. There are many different classification of programming
languages and these programming languages differ in their closeness to
the machine and in the way they are structured. Most of the programs
have a highly structured set of rules. The primary classifications of
programming languages are:

Machine Languages
Assembly Languages
High - level Languages

Machine Languages
Each computer has only one programming language which does not need a
translating program the machine language. Machine language programs, the first
generation programs, are written at the most basic level of computer operation.
Because their instruction are directed at this basic level of operation, machine
language and assembler language are collectively called low level language. In
machine language, instruction are coded as a series of ones and zeroes. The
machine language programs are cumbersome and difficult to write. The machine

language is native to that machine and understood directly by the machine. The
machine language generally has two parts:

Opcod
Operan
e
d
The opcode of machine language tells what function to perform to
the computer. The operand gives the data on which the operation has to be
performed or the location where the data can be found.
Advantages and Disadvantages
As the machine inherently understands machine instruction, machine languages are
very fast. However, they suffer major disadvantages
1. Difficult to program. Programming in machine language is the most difficult
kind of programming. Instruction should be encoded as a sequence of
incomprehensible 0s and 1s which is very difficult.
2. Error-prone. In machine language, the programmer has to look into all the
activities like memory management, instruction cycle, etc., which diverts his
attention from the actual logic of the program. This frequency leads to error.

3. Machine dependent. Every computer is different from one another in its


architecture. Hence, instructions of one machine will be different from the
other.

Assembly language
A set of instructions for an assembly language is essentially one-to-one with those
of machine language. Like machine language, assembly language are unique to a
computer. The big difference is that instead of a cumbersome series of ones and
zeroes, assembly languages use easily recognizable symbols called mnemonics, to
represent instructions.
As said before, machine language and assembly language are low-level
languages and are dependent on particular machine architecture. They are more
close to the machine rather than the programmer. The only difference between
assembly language and machine language is that assembly language is relatively
easier to use than machine language.
High level language

Although many programmers prefer assembly language, because it works more


efficiently, the power and flexibility of new generation languages have put them
beyond low-level languages in terms of both human and computer efficiency.
Consequently more programming is now done in high-level languages. Examples of
high-level languages are BASIC, COBOL, FORTRAN, C, C++, etc. High-level
languages are more, like English statements, which are easy to understand and to
use. High-level languages are more close to the programmer and ease the task of
programming.

Advantages of high-level languages


The popularity of high-level languages is attributed to the following advantages.
1. Easier to program. The programmer can concentrate on the logic of the
program rather than on the register, ports and memory storage.
2. Machine-independent. Provided some other machine has the same
compiler and libraries, the program can be ported across various platforms.
3. Easy maintenance. A program in a high-level language is easier to maintain
than assembly language, because it is easier to code and locate bugs in highlevel languages.
4. Easy to learn. The learning curve for high-level languages is relatively
smooth than low-level languages
Other than this, high-level languages are more flexible and can be easily
documented.