Page 24 - Computer Science Class 11 With Functions
P. 24
Programming Languages, Translators, and Interpreters
Software for a specific task often involves several functions and programs. We already know that a program is a sequence
of instructions for the computer. We must give these instructions to a computer in a language that is comprehensible to
it. The languages used for programming a computer are called programming languages. The programming languages
may be categorised as high-level languages and low-level languages.
Low-level Programming Language: Low-level languages are machine-dependent languages. So, their use requires
the programmer to have a thorough knowledge of computer hardware. Machine language and Assembly language
are low-level languages. A machine language program is written using sequences of 0s and 1s as instructions.
Although machine language instructions are directly executed by the computer, it is difficult for a human programmer
to remember all instructions and develop programs in machine language. To simplify, assembly languages were
developed. An assembly language instruction uses a short English mnemonic such as ADD, SUB, or SHIFT corresponding
to respective machine language instructions. Data and instructions in an assembly language program may be labelled
for easy reference. However, it is still quite difficult to program in an assembly language. Another disadvantage of
assembly language programming is that a code written for a specific CPU would not work on another computer using
a different CPU unless the compatibility between the two processors has been ensured. For executing a program
written in an assembly language, it is converted to an equivalent machine language program using a translator called
an assembler.
High-Level Programming Language: The instructions in a high-level language resemble English language instructions.
High-level languages are machine-independent because a program developed on a computer in a high-level language
may be easily executed on a different computer. Examples of high-level languages include C, C++, Python, and Java.
For executing a program written in a high-level language such as C/C++, it may be converted to an equivalent machine
language program using a translator called a compiler. Alternatively, a high-level program written in a language like
Python may be executed instruction by instruction using an interpreter that interprets and executes the instructions.
Assembler: It converts the program written in assembly language to machine language.
Compiler: A compiler converts a program written in a high-level language to an equivalent program in the computer's
machine language. It outputs all errors (along with the relevant line numbers in the program) caused by violations of the
syntax rules (Syntax means the correct way of writing an instruction in a specific programming language i.e. following
grammatical rules.) of the language and some semantic errors (Semantic error is the error which is grammatically
correct but does not make any sense.) like an attempt to multiply two strings in a Python program. If the program
being compiled is error-free, it is converted to an equivalent machine language code.
Interpreter: It converts the source code to an executable form and executes it instruction by instruction. The
process of converting the source code to an executable form and executing it instruction by instruction is called
interpretation. When an interpreter encounters an error, it stops, and the error has to be rectified before the
interpreter proceeds to execute the next instruction.
1.5.2 Application Software
Application software is designed keeping in mind the requirements of its end-users. Application software may be
categorised as general-purpose application software and customised software.
General Purpose Application Software
General purpose application software is a generic software that caters to the general requirements of many users.
Generic software includes web browsers, multi-media software, word processors, spreadsheets, presentation software,
PDF file readers, and grammar checkers. Table 1.2 gives some examples of general-purpose application software.
22 Touchpad Computer Science-XI

