Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

PROGRAMMING LANGUAGES

The programming languages can be classified in to two types

1-Low level languages 2-High level languages

Low level languages

The languages in this category are the Machine level languages and Assembly language

Machine Level 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

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

COMPILER AND 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.

 An interpreter translates only one statement at a time of the program.


 They create an exe of the programming language before the program runs.

Difference between compiler and interpreter

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

SYSTEM SOFTWARE 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

System Software is generally developed in Each application has a specific purpose


low-level languages. This is so that the and thus is developed with high-level
interaction between the software and languages so that the purpose can be
hardware can be simplified and made more fulfilled
compatible

Is working is more automated. Once a system User action is required to start


is turned on, the system software starts application software. These applications
working can only be work when the user
commands the system to do so

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

It is an independent software. Once this is This is a dependent software.


installed the computer will work Applications can only be downloaded
when the operating system is installed

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

Example for System Software includes Examples of Application Software


Android, Mac Operating system, MS includes Word Processor, games, media
Windows, etc. player, etc

You might also like