Professional Documents
Culture Documents
Programming Languages - Sectionc
Programming Languages - Sectionc
The languages in this category are the Machine level languages and Assembly language
Computers can understand only digital signals i.e. 0 and 1. So the instructions given to the computer can
be in binary codes .The machine language consists of instructions that are in binary 0 or 1. Computers can
understand only machine level language.
Writing a program in machine level language is a difficult task because it is not easy for programmers to
write instructions in binary code. A machine level language program is error-prone and its maintenance is
very difficult. Furthermore machine language programs are not portable. Every computer has its own
machine instructions, so the programs written for one computer are not valid for other computers.
Assembly language
The difficulties faced in machine level language were reduced to some extent by using a modified form of
machine level language called assembly language. In assembly language instructions are given in English
like words, such as MOV, ADD, and SUB etc. So it is easier to write and understand assembly programs.
Since a computer can understand only machine level language, hence assembly language programs must
be translated into machine language. The translator that is used for translating is called “assembler”.
Although writing programs in assembly language is a bit easier, but still a programmer has to know all the
low level details related with hardware of a computer. In assembly language, data is stored in computer
registers and each computer has different set of registers. Hence assembly language program is also not
portable. Since the low level languages are related with the hardware, hence the execution of a low-level
program is faster.
High-level languages are designed keeping in mind the features of portability i.e. these languages are
machine independent. These are English like languages, so it is easy to write and understand the programs
of high-level language. While programming in a high-level language, the programmer is not concerned
with the low level details, and so the whole attention can be paid to the logic of the problem being solved.
For translating a high-level language program into machine language, compiler or interpreter is used.
Every language has its own compiler or interpreter. Some languages in this category are FORTRAN,
COBOL, and Pascal etc.
TRANSLATOR
We know that computers can understand only machine level language, which is in binary 1 or 0. It is
difficult to write and maintain programs in machine level language. So the need arises for converting the
code of high-level and low-level languages into machine level language and translators are used for this
purpose. These translators are just computer programs, which accept a program written in high level or
low-level language and produce an equivalent machine language programs as output. The two types of
translators used are-
Compiler
Interpreter
Both interpreters and compilers are programs that convert the Source Code (high-level language) into
machine codes (so that the computers can understand them).
Computer program usually exists in high-level languages that a human can understand. Thus, they
contain various phrases and words from the English language (or any other in common use). Computers,
on the other hand, cannot understand these languages as we do- but can comprehend a program in binary
codes. As a result, we first write a program in a high-level language (source code), convert them into
machine language, and make them readable for the computers. It is exactly when we need interpreters and
compilers.
What is a Compiler?
A compiler is a translator that produces an output of low-level language (like an assembly or machine
language) by taking an input of high-level language. It is basically a computer program used to transform
codes written in a programming language into machine code (human-readable code to a binary 0 and 1
bits language for a computer processor to understand). The computer then processes the machine code for
performing the corresponding tasks.
Compilers check all types of errors, limits, and ranges. Thus, it’s more intelligent.
The run time of its program is longer, and it occupies more memory.
What Is an Interpreter?
It is a program that functions for the translation of a programming language into a comprehensible one. It
is a computer program used for converting high-level program statements into machine codes. It includes
pre-compiled code, source code, and scripts.
compiler Interpreter
The compiled codes run The interpreted codes run
comparatively faster. comparatively slower.
It generates an output program in It doesn’t generate an output
the exe format. A user can run it program. Meaning, it evaluates
independently from the originally the source program every time
intended program. during individual execution.
One can separate the program Execution of the program is one
execution from the compilation. of the steps of the Interpretation
Thus, you can perform it only process. So, you can perform it
after completing the compilation line by line.
of the entire output.
Java, Scala, C#, C, C++ use Perl, Ruby, PHP use Interpreters.
Compilers.
A Compiler takes a program as a An Interpreter takes single lines
whole. of a code.
APPLICATION SOFTWARE AND SYSTEM SOFTWARE
A System Software acts as an interface between the system and the application software. The various
Operating systems are the best example as it allows the user to download and work with various
applications on their device.
On the other hand, Application Software is designed for users. The applications can be added to system
software. For example, Notepad is an application of MS Windows, which is system software.
Difference between system software and application software
This acts as an interface between the system This is designed directly from the user
and the applications perspective
It is the platform that allows the various These are independent applications
application software to run on the system which can be download and installed in
the system
These are responsible for the working of the They have minimum involvement in the
system processing and functioning of the
computer device
The system software are installed at the time The application software can be
of installing the operating system. A computer installed as and when the user requires
device cannot work without its presence them
Since a device cannot work without a system These are designed to be user
software, the user has to have it installed in interactive, thus the application
their devices software can be removed as and when
required by the user