Programming Language and Operating System
Lecture 2
Department of Computer Science and Engineering, ITER
Siksha ’O’ Anusandhan (Deemed to be University), Bhubaneswar, Odisha, India.
1 / 11
Contents
1 Programming
2 Programming Languages
3 Types of Programming Languages
4 Language Translators
5 Operating Systems
2 / 11
Programming
Programming is the process of taking an algorithm and
encoding it into a notation, using a programming language.
Computer science is not the study of programming.
Programming languages must provide a notational way to
represent both the process and the data.
Programming languages must provide control constructs and data
types.
Programming languages must provide constructs that perform
sequential processing, selection for decision-making, and iteration
for repetitive control.
3 / 11
Programming Languages
A programming language is a set of rules that specify which
sequences of symbols constitute a program, and what
computation the program describes.
Programming languages allow people to give instructions to a
computer with commands that both the computer and the
programmer can understand.
Different programming languages use different commands and
different rules for entering those commands.
Any programming language is composed of a set of predefined
words that are combined according to predefined rules (syntax) to
generate a computer program.
4 / 11
Types of Programming Languages
The instructions coded in to computer’s memory are configured as
0’s and 1’s (binary notation).
It would be very time consuming for a person to write a program in
0’s and 1’s.
If the program can be written in a language approaching that of
English or mathematics or a combination of both, the programmer
can concentrate more on programming logic.
The effort to overcome this difficulty has lead to the development
of new programming languages.
Programming involves two major level of programming languages;
Low level Language and High level language.
5 / 11
Low level Language
Low-level languages are designed to operate and handle the
entire hardware and instructions set architecture directly.
A program written in a low-level language can be made to run very
quickly, and with a very small memory footprint.
Low-level programming languages are sometimes divided into two
categories: Machine Language and Assembly language.
Machine Language: Machine language is the sequence of bits
(machine code) that directly controls a processor.
Assembly language: Assembly language uses structured
commands (mnemonics) as substitutions for numbers allowing
humans to read the code easier.
6 / 11
High level Language
High-level languages enable a programmer to write programs that
are more or less independent of a particular type of computer.
Those are considered high-level because they are closer to
human languages and farther from machine languages.
High-level language offers three significant advantages over
machine language: simplicity, uniformity and portability.
The languages such as BASIC, COBOL, FORTRAN, C, C++,
JAVA and Visual Basic are popular examples of high-level
languages.
High-level languages use translator to convert it into a machine
language program.
7 / 11
Language Translators
Translator is meant to translate one language to another.
There are different types of translators for different categories of
languages; assembler for assembly language, interpreter and
compiler for high-level language.
Assembler: Assembler is used to translate the program written in
Assembly language into machine code.
Interpreter: The language processor that translate single
statement source program executes it immediately before moving
on to the next line is called an interpreter.
Compiler: The language processor that reads the complete source
program as a whole in one go and translates it into an equivalent
program in machine language is called as a Compiler.
8 / 11
Operating Systems
Computer software can be divided into two main categories:
application software and system software.
Application software consists of the programs for performing tasks
particular to the machine’s utilization.
System software acts as an interface between the hardware of the
computer and the application software that users need to run on
the computer.
The most important type of system software is the operating
system.
9 / 11
Responsibilities Operating Systems
An operating system has three main responsibilities:
Perform basic tasks, such as recognizing input from the keyboard,
sending output to the display screen, keeping track of files and
directories on the disk, and controlling peripheral devices such as
disk drives and printers.
Ensure that different programs and users running at the same time
do not interfere with each other.
Provide a software platform on top of which other programs liks
application software can run.
10 / 11
References
Y Daniel Liang ‘Introduction to JAVA Programming, Comprehensive Version’,
Pearson, 2014.
11 / 11