Software
In loose
terms, software refer to computer programs which serve as interface between the
user and the hardware. Software can be categorized into two, namely:
1.
System Software
- including operating system, compilers, linkers etc.
2.
Application Software
- including word processor, spreadsheet, calculator etc.
Computer Program
A computer
program is very much like an algorithm. However, it may not be finite, i.e., a
program need not terminate after a finite number of steps. An example of such a
program is an operating system.
Basically,
a computer program is made up of two components:
1.
Data
2.
Instructions for manipulating data
A computer
program is written using a certain computer programming language.
Computer
Programming Language
A
programming language describes the:
1.
vocabulary (set of symbols and words)
2.
syntax (rules)
3.
semantics (meaning)
that are
used to write a valid computer program.
Types of
Computer Programming Languages
1.
Low-Level Languages
Low-level
languages include:
-
machine language (lowest level, defined in terms of zero's and one's)
-
assembly language (uses mnemonics)
They
are called low-level because they require the programmers to have a good
understanding of the underlying hardware for which the programs are intended to
run
Programs
written using low-level languages are not portable, i.e. they cannot be
executed in two different and incompatible processors
2.
High-Level Languages
High-level
languages include:
- FORTRAN
- ALGOL
- COBOL
- PL/1
- BASIC
- Pascal
- C++
- Java
They are
called high-level because (1) the language is quasi-English and (2) it does not
require the programmer to know the actual computer hardware
The
programs written in high-level languages are able to exhibit portability