WHAT IS LANGUAGE?
You are
aware with the term language. It is a system of communication between you and
me. Some of the basic natural languages that we are familiar with are English,
Hindi, Oriya etc. These are the languages used to communicate among various
categories of persons. But how you will communicate with your computer. Your
computer will not understand any of these natural languages for transfer of
data and instruction. So there are programming languages specially developed so
that you could pass your data and instructions to the computer to do specific
job. You must have heard names like FORTRAN, BASIC, COBOL etc. These are
programming languages. So instructions or programs are written in a particular
language based on the type of job. As an example, for scientific application
FORTRAN and C languages are used. On the other hand COBOL is used for business
applications.
Programming
Languages
There are two major types of
programming languages.
Low Level Languages and High Level
Languages.
Low Level
languages are further divided in to
Machine language and Assembly language.
Low Level Languages
The term low level means
closeness to the way in which the machine has been built. Low level languages
are machine oriented and require extensive knowledge of computer hardware and
its configuration.
Machine Language
Machine Language is the only
language that is directly understood by the computer. It does not needs any
translator program. We also call it machine code and it is written as strings
of 1's (one) and 0’s (zero). When this sequence of codes is fed to the computer,
it recognizes the codes and converts it in to electrical signals needed to run
it. For example, a program instruction may look like this:
1011000111101
It is not an easy language
for you to learn because of its difficult to understand. It is efficient for
the computer but very inefficient for programmers. It is considered to the
first generation language. It is also difficult to debug the program written in
this language.
Advantage
The only advantage is that
program of machine language run very fast because no translation program is
required for the CPU.
Disadvantages
It is very difficult to
program in machine language. The programmer has to know details of hardware to
write program.
The programmer has to
remember a lot of codes to write a program which results in program errors.
It is difficult to debug the
program.
Assembly Language
It is the first step to
improve the programming structure. You should know that computer can handle
numbers and letter. Therefore some combination of letters can be used to
substitute for number of machine codes.
The set of symbols and
letters forms the Assembly Language and a translator program is required to
translate the Assembly Language to machine language. This translator program is
called `Assembler'. It is considered to be a second-generation language.
Advantages:
The symbolic programming of
Assembly Language is easier to understand and saves a lot of time and effort of
the programmer.
It is easier to correct
errors and modify program instructions.
Assembly Language has the
same efficiency of execution as the machine level language. Because this is
one-to-one translator between assembly language program and its corresponding
machine language program.
Disadvantages:
One of the major
disadvantages is that assembly language is machine dependent. A program written
for one computer might not run in other computers with different hardware
configuration.
HIGH LEVEL LANGUAGES
You know that assembly
language and machine level language require deep knowledge of computer hardware
where as in higher language you have to know only the instructions in English
words and logic of the problem irrespective of the type of computer you are
using.
Higher level languages are
simple languages that use English and mathematical symbols like +, -, %, / etc.
for its program construction.
You should know that any
higher level language has to be converted to machine language for the computer
to understand.
Higher level languages are
problem-oriented languages because the instructions are suitable for solving a
particular problem. For example COBOL (Common Business Oriented Language) is
mostly suitable for business oriented language where there is very little
processing and huge output. There are mathematical oriented languages like
FORTRAN (Formula Translation) and BASIC (Beginners All-purpose Symbolic
Instruction Code) where very large processing is required.
Thus a problem oriented
language designed in such a way that its instruction may be written more like
the language of the problem. For example, businessmen use business term and
scientists use scientific terms in their respective languages.
Advantages of High Level Languages
Higher level languages have a
major advantage over machine and assembly languages that higher level languages
are easy to learn and use. It is because that they are similar to the languages
used by us in our day to day life.
The programs written by the programmer in
higher level language is called source program. After this program is converted to machine languages by the compiler
it is called object program.
Compiler
It is a program translator
that translates the instruction of a higher level language to machine language.
It is called compiler because it compiles machine language instructions for
every program instructions of higher level language. Thus compiler is a program
translator like assembler but more sophisticated. It scans the entire program
first and then translates it into machine code.
A compiler can translate only
those source programs, which have been written, in that language for which the
compiler is meant for. For example FORTRAN compiler will not compile source
code written in COBOL language.
Object program generated by
compiler is machine dependent. It means programs compiled for one type of machine
will not run in another type. Therefore every type of machine must have its
personal compiler for a particular language. Machine independence is achieved
by using one higher level language in different machines.
Interpreter
An interpreter is another
type of program translator used for translating higher level language into
machine language. It takes one statement of higher level languages, translate
it into machine language and immediately execute it. Translation and execution
are carried out for each statement. It differs from compiler, which translate
the entire source program into machine code and does involve in its execution.
The advantage of interpreter compared to
compiler is its fast response to changes in source program. It eliminates the
need for a separate compilation after changes to each program. Interpreters are
easy to write and do not require large memory in computer. The disadvantage
of interpreter is that it is time consuming method because each time a
statement in a program is executed then it is first translated. Thus compiled
machine language program runs much faster than an interpreted program.
No comments:
Post a Comment