Chapter 1 Overview of Computer Sw and Programming Language_1
Chapter 1 Overview of Computer Sw and Programming Language_1
1. System software
2. Application software
3. General software features and recent trends
4. Generation of programming languages
5. Categorization of high-level languages
Computer software
Software is a computer program which is a sequence of instruction, designed to direct a computer to perform
certain functions. The software enables a computer to receive input, make instruction, make decisions,
manipulate and output the data in correct order and format.
System software
System Software is a set of programs that control and manage the operations of computer hardware. It also
helps application programs to execute correctly.
System Software are designed to control the operation and extend the processing functionalities of a
computer system. System software makes the operation of a computer more fast, effective, and secure.
Example: Operating system, programming language, Communication software, etc.
1. Operating systems: Operating system software helps you for the effective utilization of all hardware
and software components of a computer system.
2. Programming language translators: Transforms the instructions prepared by developers in a
programming language into a form that can be interpreted or compiled and executed by a computer
system.
3. Communication Software: Communication software allows us to transfer data and programs from one
computer system to another.
4. Utility programs: Utility programs are a set of programs that help users in system maintenance tasks,
and in performing tasks of routine nature.
Application software
An application is any program, or group of programs, that is designed for the end user. Applications
software (also called end-user programs) include such things as database programs, word processors, Web
browsers and spreadsheets.
1. Word-processing software: - It makes use of a computer for creating, modifying, viewing, storing,
retrieving, and printing documents.
2. Spreadsheet software: - Spreadsheet software is a numeric data-analysis tool that allows you to
create a computerized ledger.
3. Database software: - A database software is a collection of related data that is stored and retrieved
according to user demand.
• Perform more specialized tasks like word processing, spreadsheets, email, photo editing, etc.
• It needs more storage space as it is bigger in size
• Easy to design and more interactive for the user
• Generally written in a high-level language
The first two generations are called low level languages. The next three generations are called high level
languages.
Computer programming language, any of various languages for expressing a set of detailed instructions
for a digital computer. Such instructions can be executed directly when they are in the computer
manufacturer-specific numerical form known as machine language, after a simple substitution process when
expressed in a corresponding assembly language, or after translation from some “higher-level” language.
This language is the most understandable language used by computer to perform its operations. It can be
further categorized into:
Merits:
• It is directly understood by the processor so has faster execution time since the programs written in this
language need not to be translated.
• It doesn’t need larger memory.
Demerits:
• It is very difficult to program using 1GL since all the instructions are to be represented by 0s and 1s.
• Use of this language makes programming time consuming.
• It is difficult to find error and to debug.
• It can be used by experts only.
b) Assembly Language
Assembly language is also known as low-level language because to design a program programmer requires
detailed knowledge of hardware specification. This language uses mnemonics code (symbolic operation code
like ‘ADD’ for addition) in place of 0s and 1s. The program is converted into machine code by assembler.
The resulting program is referred to as an object code.
Merits:
• It is makes programming easier than 1GL since it uses mnemonics code for programming. Eg: ADD for
addition, SUB for subtraction, DIV for division, etc.
• It makes programming process faster.
• Error can be identified much easily compared to 1GL.
• It is easier to debug than machine language.
Demerits:
• Programs written in this language is not directly understandable by computer so translaters should be
used.
Instructions of this language closely resembles to human language or English like words. It uses
mathematical notations to perform the task. The high-level language is easier to learn. It requires less time
to write and is easier to maintain the errors. The high-level language is converted into machine language by
one of the two different languages translator programs; interpreter or compiler.
Merits:
• Because of their flexibility, procedural languages are able to solve a variety of problems.
• Programmer does not need to think in term of computer architecture which makes them focused on the
problem.
• Programs written in this language are portable.
Demerits:
• It is easier but needs higher processor and larger memory.
• It needs to be translated therefore its execution time is more.
b. Problem/Object-Oriented language (4GL)
It allows the users to specify what the output should be, without describing all the details of how the data
should be manipulated to produce the result. This is one step ahead from 3GL. These are result oriented and
include database query language.
Demerits:
• It is easier but needs higher processor and larger memory.
• It needs to be translated therefore its execution time is more.
Merits:
• Easy to program.
• Since, the program uses normal sentences, they are easy to understand.
• The programs designed using 5GL will have artificial intelligence (AI).
• The programs would be much more interactive and interesting.
Demerits:
• It is slower than previous generation language as it should be completely translated into binary code
which is a tedious task.
• Highly advanced and expensive electronic devices are required to run programs developed in 5GL.
Therefore, it is an expensive approach.
Compiler
A compiler is a computer program that transforms code written in a high-level programming language into
the machine code. It is a program which translates the human-readable code to a language a computer
processor understands (binary 1 and 0 bits). The computer processes the machine code to perform the
corresponding tasks.
Interpreter
An interpreter is a computer program, which coverts each high-level program statement into the machine
code. This includes source code, pre-compiled code, and scripts. Both compiler and interpreters do the same
job which is converting higher level programming language to machine code. However, a compiler will
convert the code into machine code (create an exe) before program run. Interpreters convert code into
machine code when the program is run.
Assignment 1:
• Generation of computers with their characteristic.
• Programming language and its types
• Computer software and its types
• Difference Between Compiler and Interpreter
• Binary number system