Professional Documents
Culture Documents
ng
Computer Software
1
Learning Objectives
Understand the categories of software and their
applications
Explore the generation of programming languages
2
What is Software?
It is a set of instructions that causes the hardware
to function in a desired way.
This set of instructions is often referred to as a
program
3
Types of Software
Computer software can be split into two major
categories:
– System software
– Application Software
4
www.covenantuniversity.edu.ng
System Software
5
Role of Systems Software
6 6
Introduction
System software is
– The interface between the user and hardware
– The interface between application software and hardware
System software can be classified into three:
– Operating System
– Translators
– Utility programs
7
1. Operating System (OS)
It is the software that manages the resources of a
computer system and schedules its operations.
It acts as the interface between the hardware and other
user programs and facilitates the execution of programs
– UNIX
– MS-DOS
– Windows
8
2. Translators
Computer can understand instructions only when they
are written in their own language, i.e. machine
language.
Therefore a program written in any other language
should be translated into machine language
The software that translates the instructions of
different languages is known as translator
9
2. Translators (Cont’d)
There are two types of translators namely:
– Compilers
– Interpreters
10
2. Translators (Compiler)
A compiler checks the entire user – written program (known
as source program) and if it is error free, produces a complete
program in machine language (known as object program)
– The source program is retained for possible modifications and
corrections and the object program is loaded into the computer for
execution
If the source program contains errors, the compilers produce
a list of errors at the end of the execution of the program
11
2. Translators (Interpreter)
An interpreter does a similar job to the compiler but in a
different style
– The interpreter translates one statement at a time and if it is
error-free, executes.
Thus an interpreter translates and executes the first
instruction before it goes to the second, while a
compiler translates the whole program before execution
12
3. Utility Programs
Help to perform maintenance and correct problems
with a computer system. For example
– Hardware utilities
– Virus-detection and recovery utilities
– File-compression utilities
– Spam and pop-up blocker utilities
13
www.covenantuniversity.edu.ng
Application Software
14
Introduction
There are two types of application software
namely:
Application programs (proprietary or open source)
General purpose packages (off-the-shelf software)
15
1. Application Programs
• These are user written programs to do a specific job
which can be changed to meet the individual needs.
• These programs can be written in different languages
such as BASIC or C or by using database packages
like Oracle.
• Examples: Inventory management, Payroll, Billing,
Airline Reservation etc.
16
2. General Purpose Packages
• These packages are developed to suit the needs of research
workers/scientists in different fields.
• They can be categorized as follows:
• Data Analysis: SPSS
• Word Processing: MS-Word
• Spreadsheet and Accounting: MS-Excel, Sage
• Graphics & Presentation: MS-PowerPoint, Prezi, Corel Draw etc.
• Databases: Oracle
• Programming languages: Visual Basic, C/C++, Python, Java
17
www.covenantuniversity.edu.ng
18
History Timeline
19
The Evolution of Programming Languages
20
First Generation Languages
Machine languages are the first generation
languages.
They consist of strings of numbers (i.e. 0s and 1s)
the computer’s hardware can use.
Different types of hardware use different machine
code
21
Second Generation Languages
Assembly languages can be regarded as the second-
generation languages
They are easier to work with than machine languages
To create programs in assembly language, developers use
cryptic English-like phrases to represent strings of numbers
– The code is then translated into object code, using a translator
called an assembler
22
Assembly
code
Assembler
Object code
23
www.covenantuniversity.edu.ng
Higher-Level Languages
24
Introduction
Higher-level languages are more powerful than
assembly language and allow the programmer to work
in a more English-like environment
They can be sub-divided into:
– Third-generation languages
– Fourth-generation languages
– Fifth-generation languages
25
Third Generation Languages (3GLs)
They are the first to use true English-like phrasing
making them easier to use than previous languages
They are portable, meaning the object code created for
one type of system can be translated for use on a
different type of system
Examples include:
– FORTRAN, COBOL, Pascal, BASIC, C, C++, Java
26
Fourth Generation Languages (4GLs)
These are easier to use than 3GLs.
4GLS may use a text-based environment (like a
3GL) or may allow the programmer to work in a
visual environment, using graphical tools.
Examples include:
– Visual Basic, Visual C++ etc.
27
Fifth Generation Languages (5GLs)
These high-level languages use artificial
intelligence to create software.
They can be used to solve problems using
constraints rather than algorithms
Example includes:
– Prolog
28
Language Generations
Generation Classification
1st Machine languages
2nd Assembly languages
3rd Procedural/High-level languages
4th Query and Database languages
5th Artificial Intelligence
6th Neural Networks, others…
29
Assignment
Find out other generations of programming
languages with examples
– Maximum of 1 Page
30