Chapter 1 Overview of Computer SW and Programming Language
Chapter 1 Overview of Computer SW and Programming Language
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.
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.
4. Graphics software: - It allows computer systems for creating, editing, drawings, graphs, etc.
5. Education software: - Education software allows a computer to be used as a learning and teaching
tool.
• 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
Generation of computer
1. First Generation of Computers
2. Second Generation of Computers
3. Third Generation of Computers
4. Fourth Generation of Computers
5. Fifth Generation of Computers
The first two generations are called low level languages. The next three generations are called high level
languages.
This language is the most understandable language used by computer to perform its operations. It can be
further categorized into:
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.
• It is hardware dependent language so programmers are forced to think in terms of computer’s architecture
rather than to the problem being solved.
• Being machine dependent language, programs written in this language are very less or not protable.
• Programmers must know its mnemonics codes to perform any task.
2. High level language
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.
Merits:
• Programmer need not to think about the procedure of the program. So, programming is much easier.
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.
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