You are on page 1of 15

Computer Programming

Chapter 1. Overview of Computer Software and


Programming Languages
1.1 System Software
1.2 Application Software
1.3 General Software Features and Recent Trends
1.4 Generation of Programming Languages
1.5 Categorization of High Level Languages
Computer Software and its Classification
Computer Software
Software is the computer programme (set of
instruction) that instruct the computer how to
processed a data and generate required information.
For eg. Ms-Word, Windows XP, Linux, etc.
A computer is just a machine and cannot do
anything unless there is a software programme.
According to the performance, the software is
categorized as:
•System software
•Application software
Computer Software

Computer Software

System Software Application Software


Operating Service Tailored Packaged
System Programs Software Software

Language Special
Translators Purpose s/w

General
Utility s/w Purpose s/w
SYSTEM SOFTWARE
System software controls the way different parts of
hardware operate and the way the computer respond to
command or it assists/helps a computer in running
application programs.
For e.g. Window XP, Window 2000, UNIX, etc.
System software consist of:
•Operating System
•Service programmes
Operating System (OS)
An OS is the set of programmes that controls and
supervises computer system. Hardware and provide
services to the computer users. Every computer needs an
OS without it, computer cannot work.
E.g. Window XP, Linux, etc.
Service programme
Service programme provides the service to the user of
computer system.
For e.g.:
Language Translator: These programs are the programs for
converting program of other language instructions, so that they
can be executed by the computer.
Computers can understand only the machine language which
is made up of 0s and 1s. Therefore, the program written in low
level language and high level language should be converted
into machine language.
There are three types of translator programs available for
computer languages. They are:
•Assembler
•Compiler
•Interpreter
Utility software: These are the programs or routines
which carryout certain procedure which are common to
vertically all applications.
Utility Software is the helpful software that performs
specific tasks related to the maintenance of computer
hardware and data.
Utility Software helps to keep a computer in the smooth
functioning condition.
Utility Software provides facilities for performing tasks
like transferring data and file, recovering lost data and
file, searching and removing computer viruses, disk
management etc.
PC Tools, Download Accelerator, Anti Viruses, WinZip,
etc. are some examples of utility software.
APPLICATION SOFTWARE
Application software is a type of software. It is
the set of programmes that allows the computer to
perform a specific task for the user. Further
classification of application software is:
Tailored software: It is also called custom made
software. Its specification are usually made to meet the
processing needs of a specific organization or an
individual.
For e.g. NCC (National Computer Centre), SLC, result
processing is carried out due to the help of tailored
software, etc.
Packaged software: Packaged software is pre-written
software which can be used by any one.
These can further classified as:
Special purpose packages: Special purposes
packages are packages design for the specific class of
user.
For e.g. Medical diagnostic packages, Banking
system, etc.
General purpose packages: General purpose
packages are packages that can be used to deal with a
particular application.
For e.g. Word processing package, Spreadsheet
packages, etc.
General Software Features/Attributes
 Safety
 Security
 Reliability
 Understandability
 Testability
 Adaptability
 Portability
 Usability
 Reusability
 Efficiency
 Learnability
[Note: Write in detail]
General Software Recent Trends
Two major software trends are taking place:
Trend away from:
(1) Custom-designed programs developed by the
professional programmers of an organization.
(2) Technical, machine-specific programming
languages using binary-based or symbolic codes
(3) Procedural languages, which use brief statements
and mathematical expressions to specify the sequence
of instructions a computer must perform.
Trend towards:
(1) Use of off-the-shelf software packages acquired by end
users from software vendors.
(2) Use of a visual graphic-interface for object-oriented
programming, or toward nonprocedural natural languages for
programming that are closer to human conversation.
Reasons for these trends are:
• Development of relatively inexpensive and easy-to-use
application software packages and multipurpose software
suites for microcomputers.
• Software packages are designed with web-enabled
networking capabilities and collaboration features that
optimize their usefulness for end users and workgroups on
the Internet and corporate intranets and extranets.
• Many software packages can now be downloaded,
updated, managed, and rented or leased from software
companies or application service providers (ASP’s) over
the Internet and corporate intranets.
• Creation of easy-to-use, nonprocedural fourth-generation
languages (4GLs).
• Developments in object technology, graphics, and
artificial intelligence produce natural language and
graphical user interfaces (GUI) that make both
programming tools and software packages easier to use.
Developments in a new generation of expert-assisted
software packages that combine expert system modules
and artificial intelligence features (wizards and intelligent
agents)
Results of these trends:
Current trends are converging to produce a fifth generation of
powerful, multipurpose, expert assisted and network-enabled
software packages with natural language and graphical
interfaces to support the productivity and collaboration of both
end users and are professionals
Generation of Programming Languages
Programming Language: A programming language
is a set of codes (instructions) used to write programs.
Every language has its own keywords.
Every language has two aspects:
Syntax and Semantics.

Programming language is classified into following


different types:
•Machine Language (1GL)
•Low Level Language (2GL)
•High Level Language (3GL, 4GL, 5GL)
Categorization of High Level Languages
High-level languages are divided into:
•Procedure Oriented language or Third Generation
Language (3GL)
•Problem Oriented language or Fourth Generation
Language (4GL)
•Natural language (5GL)
•Formal language

You might also like