ICT Lesson 4 - Computer Software
ICT Lesson 4 - Computer Software
Computer applications
Computer applications is the knowledge, skills and attitudes that enable a computer user to
operate and use different computer application programs or packages to accomplish various
tasks.
Computer Software
What is software? Software is a set of instructions that enables a computer to operate. It is also known
as programs. A program is a set of instructions given to a computer to enable it perform or
accomplish a specific task. Computer hardware is only as effective as the instructions given to it
by the end users and those instructions are contained in software. Software not only directs the
computer to manage its internal resources, but also enables the user to tailor a computer system
to provide specific business value. Software instructs the computer on what to do and how to do
it. It follows therefore, that without software the computer can do nothing
Software concept
Software consists of computer programs, which are sequences of instructions for the computer.
The process of writing these programs is known as programming or coding and individuals
who perform this task are called programmers.
Modern computers use the stored program concept, in which stored software programs are
accessed and their instructions executed (followed) in the computer’s Central Processing Unit
(CPU). Once the program has finished executing, a new program is loaded into main memory
and the computer hardware addresses another task.
Programmers write programs in a language that is like broken English called the programming
language or source language, e.g. Vb.net, HTML, C++ etc. The source language produces a
sequence of instructions (script) for the computer known as the source code, using a special
sequence or order of writing characters usually referred to as syntax. The computer understands
only one language which is the machine language, a series of 0s and 1s. Since it cannot
understand the source language, the source code is translated into a machine language script
known as the object code by special translation programs called translators, e.g. compilers,
interpreters and assemblers. A compiler also checks for errors or bugs within the program and
reports them to the programmer for removal, fixing or debugging.
Both hardware and software are necessary for a computer to accomplish tasks. Both
complement each other.
The same hardware can be loaded with different software to make a computer system
perform different types of tasks
1. According to purpose
2. According to Acquisition
3. According to End User License (EUL)
1. System software
3 Complied by Mr. P.K Munene
ICT Lesson 4 – Computer software
2. Application software
System software
This is computer software that manages the operation of the computer itself and makes sure that
the computer works efficiently. It is responsible for controlling, integrating and managing the
individual hardware components of a computer system. This enables other software and the users
of the computer system to see the system as a single functional unit without having to be
concerned with low-level details.
System software performs a variety of fundamental operations that avail computer resources to
the user. These functions include:
1. Booting the computer and making sure that all the hardware elements are working
properly.
2. Performing a variety of system utility functions.
3. Supports the development of other application software.
4. Supports the execution of other application software.
5. Monitors the effective use of various hardware resources such as CPU, memory,
peripherals etc.
6. Communicates with and controls the operation of peripheral devices, such as printers,
disk, tape etc.
Hence, system software makes the operation of a computer system more effective and efficient.
It helps the hardware components work together and provides support for the development and
execution of application software (programs). The programs included in a system software
package are called system programs and programmers who develop system software are
referred to as system programmers. Some of the most commonly known types of system
software are:
Operating Systems
An operating system is a mandatory program that enables application software to interact with a
computer’s hardware, acts as an intermediary between the computer users and computer
hardware and controls the execution as well as provide a basis or platform for application
4 Complied by Mr. P.K Munene
ICT Lesson 4 – Computer software
programs. Some popular Operating Systems include Linux Operating System, Microsoft
Windows family Operating System, VMS, OS/400, AIX, z/OS, UNIX and Macintosh (MacOS)
etc.
Firmware
Firmware is a software program permanently etched into a hardware device such as a keyboards,
hard drive, BIOS, or video cards. It is programmed to give permanent instructions to
communicate with other devices and perform functions like basic input/output tasks. Firmware is
typically stored in the flash ROM (read only memory) of a hardware device. It can be erased and
rewritten. This software will be stored in a ROM chip of the computer and will be executed
whenever the computer has to multiply two numbers. To be precise, firmware is software
substitute for hardware and stored in read only memory.
Utility programs
Utility programs, also known as utilities or housekeeping software are a set of programs, which
help users in system maintenance tasks, and in performing tasks of routine nature. Some of the
tasks commonly performed by utility programs include:
Disk formatting: This is the process of preparing a data device such as a hard disk, solid
state disk, for initial use. In some cases, disk formatting, may also create one or more new
file systems.
Disk partitioning: This is the process of creating two or more regions on a hard disk/
secondary storage device so that the operating system can manage information in each
region separately. In other words, partitioning is the process of splitting memory into
different drives.
Scanning Disk: This is the process of checking for errors in a disk drive and repairing
them. The operating system uses scanned disk utility which is a diagnostic tool for
checking and repairing file system errors on a disk drive. An antivirus e.g. Kaspersky is
also used to scan and eliminate viruses on the computer system.
Disk compression: This is the process of increasing the amount of storage space by
compressing files to occupy minimum disk space.
Disk defragmentation: This is increasing computer access speed by rearranging files
stored on a disk to occupy contiguous storage locations.
Disk backup: This is the process of creating copies of data and program on a separate
storage device to avoid losing important data or programs in case the storage device fails.
Text editors: These are programs used to create and subsequently modify textual
information using the computer. The text editor operations are controlled by an
interactive operating system that provides “dialogue” between the computer user and
itself.
Linker: This is a program in a language processor used to link/join the source code with
other files that are needed for the execution of the program.
Loader: This is a program that transfers the linker output, into computer memory ready
for it to be executed by the computer hardware.
Sort utility: These are programs used to alter the sequence of the records maintained in a
file. They are used to arrange records within a file according to some predetermined
sequence. The arrangement can either be in ascending order or descending orders of
alphabetic or numerals.
Merge utility: This is a program used to influence the combining of the contents of two
or more input files to produce one output file.
Copy utility: This is a program used to influence the duplication process i.e. copying
the content of one file to another.
Dump utility: This is a program used to influence dumping i.e. the transfer (copying) of
the computer’s internal memory into a storage media.
Diagnostic tools: These are tools used to detect and correct system faults both hardware
and software. E.g. Dr Watson, a diagnostic tool from Microsoft that takes a snapshot of
the system whenever a system fault occurs, Norton Utilities, PC Tools, QAPlus etc.
Communications software
In a network environment, where multiple computers are interconnected by communications
networks, communication software enables transfer of data and programs from one computer
system to another.
Compliers: These are language processors which translate the entire source code into
object code all at once.
Interpreters: These are language processors that translate the source code into object
code line by line.
Assemblers: These are language processors that translate a source code written in
assembly language into object code.
Note: Source code is a program code typed in the text editor or integrated Development
Environment (IDE) while object code refers to a program code that is in machine readable form
(Binary) or a series of 0s and 1s.
Utility programs
Utility programs, also known as utilities or housekeeping software are a set of programs, which
help users in system maintenance tasks, and in performing tasks of routine nature. Some of the
tasks commonly performed by utility programs include:
Disk formatting: This is the process of preparing a data device such as a hard disk, solid
state disk, for initial use. In some cases, disk formatting, may also create one or more new
file systems.
Disk partitioning: This is the process of creating two or more regions on a hard disk/
secondary storage device so that the operating system can manage information in each
region separately. In other words, partitioning is the process of splitting memory into
different drives.
Scanning Disk: This is the process of checking for errors in a disk drive and repairing
them. The operating system uses scanned disk utility which is a diagnostic tool for
checking and repairing file system errors on a disk drive. An antivirus e.g. Kaspersky is
also used to scan and eliminate viruses on the computer system.
Disk compression: This is the process of increasing the amount of storage space by
compressing files to occupy minimum disk space.
7 Complied by Mr. P.K Munene
ICT Lesson 4 – Computer software
Text editors: These are programs used to create and subsequently modify textual
information using the computer. The text editor operations are controlled by an
interactive operating system that provides “dialogue” between the computer user and
itself.
Linker: This is a program in a language processor used to link/join the source code with
other files that are needed for the execution of the program.
Loader: This is a program that transfers the linker output, into computer memory ready
for it to be executed by the computer hardware.
Sort utility: These are programs used to alter the sequence of the records maintained in a
file. They are used to arrange records within a file according to some predetermined
sequence. The arrangement can either be in ascending order or descending orders of
alphabetic or numerals.
Merge utility: This is a program used to influence the combining of the contents of two
or more input files to produce one output file.
Copy utility: This is a program used to influence the duplication process i.e. copying
the content of one file to another.
Dump utility: This is a program used to influence dumping i.e. the transfer (copying) of
the computer’s internal memory into a storage media.
Diagnostic tools: These are tools used to detect and correct system faults both hardware
and software. E.g. Dr Watson, a diagnostic tool from Microsoft that takes a snapshot of
the system whenever a system fault occurs, Norton Utilities, PC Tools, QAPlus etc.
Communications software
In a network environment, where multiple computers are interconnected by communications
networks, communication software enables transfer of data and programs from one computer
system to another.
Compliers: These are language processors which translate the entire source code into
object code all at once.
Interpreters: These are language processors that translate the source code into object
code line by line.
Assemblers: These are language processors that translate a source code written in
assembly language into object code.
Note: Source code is a program code typed in the text editor or integrated Development
Environment (IDE) while object code refers to a program code that is in machine readable form
(Binary) or a series of 0s and 1s.
Application software
Application software, also known as application packages are programs that are designed to help
the user accomplish specific tasks or set of tasks. Programs included in an application software
package are called application programs and the programmers and the programmers who
prepare application software are referred to as application programmers. Application software
may consist of a single program, such as an image viewer, a small collection of programs (often
called a software package) that work closely together to accomplish a task, such as a spread
sheet or text processing system.
A larger collection (often called a software suite) of related but independent programs and
packages that have a common user interface or shared data format, such as Microsoft Office,
which consists of closely integrated word processor, spreadsheet, database etc., or a software
There are literally millions of application software available for a wide range of applications,
ranging from such applications, such as word processing, inventory management, preparation of
tax returns, banking, hospital administration, insurance, publishing, to complex scientific and
engineering applications such as weather forecasting, space shuttle launching, oil and natural gas
exploration, design of complex structures like aircrafts, ships, bridges, sky rise building etc.
the computer system. Surrounding the hardware is the system software layer, which constitutes
the operating and programming environment of the computer system.
End users
Figure 1: Relationship between hardware, system software, application software and end users
The software at this layer is designed to hide the hardware details of the system form application
programmers, end users and to coordinate the operations of the various hardware devices for
optimizing the performance of all the devices. Surrounding the system software is the application
software layer, which consists of a wide range of software, which are designed to do a specific
task, or solve a specific problem.
The final layer of users who normally interact with the system via the user interface provided by
the application software. Different application software usually provides different user interfaces.
Hence, how a particular user interacts with the computer system, depends on which application
he/she is using.
Classification according to acquisition
Software is not usually not included in the purchase price of the computer. For most computer
manufactures, the purchase price of a computer includes only the hardware and minimum of
12 Complied by Mr. P.K Munene
ICT Lesson 4 – Computer software
system software. The customer has to pay extra charges for additional system software and
application software which he or she may wish to purchase.
A desired software may be obtained today in several ways, developing (in house developed or
customized software), buying pre developed (Vendor off the self) software and downloading
public domain software.
Advantages
Disadvantages
It takes a long time to develop such software, between a few months or years
It is expensive to develop such software
Experts such as business analysts and programmers may need to be employed at an extra
cost.
This kind of software has little terms of support online.
formatting text, creating charts, organizing tables, but also have a vast number of features that a
user many never use. Examples for generic software include, excel, word processor, access etc.
Advantage
Disadvantages
They may have some features not needed by the user which may take extra storage
They may require the user to change processes and hardware for compatibility which
may in turn be expensive.
They may lack some features required by the user
Advantages
Free to use: The biggest benefit of using open source its free to use, modify and
distribute. The cost associated with open source software is very less when compared to
proprietary software. Operating without the need for expensive licenses can make all the
difference, especially for a small business. Open source software saves companies an
enormous sum every year.
Continuous improvement: Open source software is evolving all the time as developers’
fix bugs, make tweaks, and add to it. There’s a larger team of people engaged in
improving it and anyone can take the initiative to improve the software.
14 Complied by Mr. P.K Munene
ICT Lesson 4 – Computer software
Freedom without limitations: Open source software give one freedom and
independence, there are no limitations and strict restrictions, the only limitation is one’s
imagination. One can modify open source software to adapt to specific user needs.
Platform for innovations: Open source software does provide great platform for
innovations and creativity.
No Complex Licensing: Open source software comes with easy licensing models.
Companies that use open source software do not worry about licensing or anti-piracy
measures nor do they have to fear for legal action.
Disadvantages
Hard to Learn: Open source software is hard to learn. It is not straightforward to use.
Learning open source system like Linux takes time. It takes effort and proper training to
become master and this will take additional time and cost.
Not user friendly: Open source system are not user friendly. Like Linux based operating
system is difficult to use as compare to Window operating system. Package and software
are install easily in Window but in Linux it is little difficult you need to install through
command line interface.
Hardware compatibility issue: Many of the latest hardware are incompatible with open
source software.
Hidden costs: Many companies are initially attracted by the fact that open source
software is free, but it’s important to factor in the cost of deploying and integrating the
software. Consider ongoing maintenance and support costs.
Risk of abandonment: If key programmers lose interest or no longer have time to work
on the project, then it could be abandoned quite quickly. Open source projects do
sometimes die out and if one has invested a lot into the software it could prove to be a
serious problem if the updates stop.
Classification according to End User License (EUL)
Software may also be classified according to End User License (EUL) as
Open source or freeware.
Proprietary
Proprietary software
This is software whose source code is hidden from users. Modifications are only made by the
software manufacture. Proprietary software may be licensed to users at a fee or applied freely.
Windows Microsoft operating systems and office are examples of proprietary software. Free
wave are software products that are freely made available to the user. However, beware of
freeware because some may be malicious software. Examples of proprietary software that a user
is required to pay for license fee include Microsoft Windows operating systems, Microsoft
Office, Adobe PageMaker and Core Draw suite.
Software installation
Installation or setup of a computer program, is the process of making the program ready for
execution. Since the process varies for each program and computer, programs often come with
an installer, a computer program that installs files, such as applications, drivers, or other
software, onto a computer. Some installers are specifically made to install the files they contain;
other installers are general-purpose and work by reading the contents of the software package to
be installed.
Installation may be part of a larger software deployment process. Installation typically involves
code being copied or generated from the installation files to new files on the local computer for
easier access by the operating system. Since code is generally copied or generated in multiple
locations, uninstallation usually involves more than just erasing the program folder, e.g.
registry files and other system code may need to be modified or deleted for a complete
uninstallation.
Some computer programs can be executed by simply copying them into a folder stored on a
computer and executing them. Other programs are supplied in a form unsuitable for immediate
execution and therefore need an installation procedure. Once installed, the program can be
16 Complied by Mr. P.K Munene
ICT Lesson 4 – Computer software
executed again and again, without the need to reinstall before each execution. Common
operations performed during software installations include:
is assumed that there is no user to help mitigate errors, e.g. if the installation medium was
faulty, the installer should fail the installation, as there is no user to fix the fault or
replace the medium. Unattended installers may record errors in a computer log for later
review.
Headless installation: This is a software installation process that is performed without
using a computer monitor. In attended forms of headless installation, another machine
connects to the target machine, e.g. via a local area network and takes over the display
output. Since a headless installation does not need a user at the location of the target
computer, unattended headless installers may be used to install a program on multiple
machines at the same time.
Scheduled or automated installation: This is a software installation process that runs on
a preset time or when a predefined condition occurs, as opposed to an installation process
that starts explicitly on a user's command, e.g. a system administrator willing to installed
a later version of a computer program that is being used can schedule that installation to
occur when that program is not running. An operating system may automatically install a
device driver (plug and play) for a device that the end user connects. Malware may also
be installed automatically.
Clean installation: This is a software installation process that is done in the absence of
any interfering elements such as old versions of the computer program being installed or
leftovers from a previous installation, e.g. the clean installation of an operating system is
an installation in which the target disk partition is erased before installation. Since the
interfering elements are absent, a clean installation may succeed where an unclean
installation may fail or may take significantly longer.
Network installation: This is a software installation process where a program is installed
from a shared network resource.
Although one may have a good computer with the best hardware, the actual determinant of a
computer’s value to the user is the software in it. The following factors should be considered
while selecting software:
portable, some developers produce software which can be installed on one machine only.
This means that if one has twenty computers, one should buy a license for each.
Computer languages
People use language to communicate with one another. Each language consists of sounds and
symbols and contains grammatical rules that govern its use. Programming languages are similar.
A programming language is a standardized communication technique for describing instruction
for a computer. It is a set of written symbols that instruct the computer hardware to perform
specified tasks. Use of these symbols is governed by a set of rules called syntax. Any program
regardless of the language in which it is written consists of a sequence of instructions which are
carried out in a certain order.
Classification/ Level of programming languages
A program can be written in a variety of languages. The languages are broadly classified two
main categories, namely:
Lower level languages
These are programming languages that enable the programmer to write program instructions
using binary digits of 0’s and 1’s. They are computer oriented languages i.e. they directly
manipulated the hardware. Programs are in a computer readable form thus require no translation
or conversion.
Categories of low level languages
There two types of lower level languages namely;
Machine language: This is a lower level programming language which allows
programmers to write program instruction using binary digits of 0’s and 1’s. Programs
developed in machine language are already in a machine readable form thus require no
translation. Machine language is tedious, complex and prone to many errors which are
hard to detect. Nevertheless, computers can only execute a machine code hence all
program instructions much be translated to machine language.
Assembly language: This is a lower level programming language which allows
programmers to write program instructions using a set of symbolic operations codes
called mnemonics, abbreviated English words. Although, assembly language is closer to
machine language the computer does not understand it thus program instructions written
in assembly language must be translated into machine language by an assembler.
Advantages of low level languages
Programs written in machine language do not need translation and those in assembly
language require minimum effort to translate.
Programs written in machine language are stable and hardly crash or breakdown once
written.
Running low level language program is fast since no compilation is needed.
Low level languages allow programmers to have direct control over computer hardware.
Disadvantages of low level languages
They are difficult and cumbersome to use and learn.
Programs written in machine language requires highly trained experts to both develop
and maintain.
Debugging programs is difficult.
They are machine dependent
They are not portable
Programs written in lower level languages are long
Do not allow use of program control structures which encourage modules.
High level languages
These are programming language that enable programmers to write program instruction using
simple English like statements. Programs developed in high level languages are portable i.e. can
be used on different computer system. These languages reflect the logic and procedures used in
human algorithm thus the high level language programming is task oriented rather than machine
oriented.
Advantages of high level languages
They allow the use of program control structures which help programmers to develop
programs using modular programming.
Programs written in high level language are shorter
Programs written in high level language are easier and faster to develop and debug.
Just like computers, programming languages have evolved over the years. Programming
language generations include:
Machine language programs have very fast execution speeds, precisely because the
instructions are executed directly by the CPU.
Machine language is highly efficient and allows direct control of each operation
They use the primary memory efficiently.
Disadvantages
This language is very tedious, difficult and time consuming method of programming.
It is easy to make an error and very difficult to debug the machine language program.
Assemblers allow for easier debugging of the program, and also introduce more advanced
programming mechanisms such as macro programming and structured programming.
Assembly language has a closer control over the computer hardware and executes very
efficiently. It is therefore useful for writing operating systems and games which require
fast and efficient use of the CPU.
Assembly languages save time, reduce errors and find errors easily.
Disadvantages
Assembly language programs are not portable i.e. they are designed for a specific
machine and a specific microprocessor, this implies that programs cannot be moved from
one computer architecture to another without re-writing the code.
Coding in this language is time consuming
Assembly language is machine oriented, i.e. they are designed for the specific make and
model of processor being used.
Ada etc. This language is said to be a high-level language and widely used by modern
programmers. High level languages programs are translated into machine language by compliers
or interpreters.
Most high level languages are considered to be procedure-oriented, or procedural languages,
because the program instructions comprise lists of steps, procedures, that tell the computer not
only what to do but how to do it.
High-level language statements generate, when translated, a comparatively greater number of
assembly language instructions and even more machine language instructions. Programmers
spends less time developing software with a high level language than with assembly or machine
language because fewer instructions have to be created.
Advantages
They are user-friendly and problem oriented rather than machine based, allowing the
programmer more time to focus on understanding the user’s needs and designing the
software required meeting those needs.
They permit faster development of large programs because programs written in high
level languages are shorter than their low-level equivalents, since one statement
translates into many machine code instructions, thus relieving the programmer off the
detailed and tedious task of writing programs in machine language and assembly
languages.
They are highly portable i.e. they can be used on various types of processors. High
level languages provide programs that can be used on more than one type of machine
with very few changes.
Disadvantages
They are not as efficient as low level languages in terms of program execution.
Consequently, a fourth generation language needs approximately one tenth the number of
statements that a high level language need to achieve the same results. Since, a fourth generation
programming language is so much easier to use than a third generation languages, it allows
users, or non-computer professionals to develop software.
A fourth generation language enable users to access data in a database and its data dictionary.
This language is usually used in conjunction with a database and its data dictionary and is often
found as part of a Management Information Systems (MIS) or Decision Support System (DSS).
Four generation languages include:
Query languages: Query languages allow the user to ask questions about, or retrieve
information from database files by forming requests in normal human language
statements such as English. A database query language permits formulation of queries
that may relate to several records from one or more files. The appropriate records can
then be printed or displayed in suitable format. Examples include, MYSQL, Oracle or
MSQL and Visual Basic.
Report generators: A report generator allows data from a database to be extracted and
formatted into reports. It also allows substantial arithmetic and logic operations to be
performed on the data before they are displayed or printed.
Application generators: Application generators allow the user to reduce the time it takes
to design an entire software application that accepts input, ensures data has been input
accurately, performs complex calculations and processing logic, and outputs information
in the form of reports.
Decision support systems and financial planning languages: Decision support systems
and financial planning languages combine special interactive computer programs and some
special hardware to allow high level managers to bring data and information together from
different sources and manipulate it in new ways.
Some microcomputer application software: Some microcomputers application software
such as Lotus 1-2-3, database managers, such as dbase IV and integrated packages such as
symphony, can be used to create specialized applications.
Advantages
Fourth generation languages increase the speed of developing programs.
They Minimize users’ efforts to obtain information from computer.
They decrease skill level required of users.
They reduce errors or make programs that are easy to change.
Disadvantages
Programs developed in fourth generation programming languages run slower than those
of earlier language generations since their machine code equivalent is considerably
longer and more complicated to execute.
Fourth generations programming language are Less flexible that other languages
for creating source codes. Fifth generation programming allows people to interact with
computers without needing any specialized knowledge.
People can talk to computers and the voice recognition systems can convert spoken sounds into
written words, examples include Prolog, Mercy and Lips, Clout, Q and A, and Savvy retriever
(for use with databases) and HAL (Human Access Language). The use of natural language
touches on expert systems, computerized collection of the knowledge of many human experts in
a given field, and artificial intelligence, independently smart computer systems.
Advantages
Disadvantages
Programs run slower than those of earlier language generations since their machine
language code is longer and complex.
BASIC: The BASIC designates Beginners All-Purpose Symbolic Instruction Code. This
is a very systematic high level programming language and therefore easy to learn and
use, hence suitable for the learners. BASIC is a general purpose high level language,
implemented in most microcomputers.
COBOL: COBOL designates, Common Business Oriented Language. It was developed
for business and commercial data processing, where voluminous data are to be handled
because it supports powerful data and control structures and is widely-used language
because it is easy to read.
FORTRAN: This designates FORmula TRANslation. It was the first high level language
developed in 1956 by IBM development group for use on an IBM 704 computer. Its
prime purpose was to solve mathematical and scientific problems. It provided an easier
way of writing scientific and engineering applications.
27 Complied by Mr. P.K Munene
ICT Lesson 4 – Computer software
PASCAL: This is a general purpose high level programming language which is named
after Blaise Pascal, a French mathematician. It was developed as a tool for teaching
programming. Today PASCAL is the most widely used language for teaching
programming.
C: This is a powerful language that, like Assembly Language, permits direct control over
the hardware, but like high level languages it also has powerful commands that permit the
rapid development of programs.
LISP: This designates LIStProcessing and is used in applications such as game playing,
theorem proving and similar non numeric applications requiring logical rather than
numerical operations. It is widely used by researchers working in the areas of patterns
recognition and artificial intelligence
PROLOG: This designates PROgramming in LOGic and is a language developed from
LISP and is designed for use with Expert systems and Artificial Intelligence. It is used to
solve problems which involve objects and relationships between objects.
LOGO: This language was designed for educational use in which children can explore
and developed concepts through programming the movement of a turtle or pen. It has no
commercial application
content created with it does not change. HTML is used to specify the content a webpage
will contain, not how the page functions.
XML: Extensible Markup Language. A language developed by the W3C which works
like HTML, but unlike HTML, allows for custom tags that are defined by programmers.
XML allows for the transmission of data between applications and organization through
the use of custom tags.
JavaScript: This is a language developed to provide dynamic and interactive content on
web pages. With java script it is possible to communicate with HTML, create animations,
create calculators, and validate forms and more. JavaScript is often confused with Java,
but they are two different languages.
VBscript: Visual Basic Scripting Edition. A language that works only in the Internet
Explorer web browser and web browsers based on the internet explorer engine. VBscript
is based on Visual Basic, but it is much simpler.
PHP: Hypertext Pre-processor. A powerful language used for many tasks such as data
encryption, database access and form validation.
Software languages
These are programs used for creating executable programs. Can create anything from simple
console programs that print some text to the screen to entire operating systems. They also vary
greatly in terms of power and complexity.
software applications. Things you can do with java include interacting with the user,
creating graphical programs, reading from files and more.
C# (C sharp): A hybrid of C and C++, it is a Microsoft programming language
developed to compete with Sun's Java language. C# is an object-oriented programming
language based on C++ with elements from Visual Basic and Java and used with XML-
based Web services on the .NET platform and designed for improving productivity in the
development of Web applications.
J2ME: Java 2 Platform Micro Edition is a technology that allows programmers to use the
Java programming language and related tools to develop programs for mobile wireless
information devices such as cellular phones and personal digital assistants (PDAs).
Execution time: Application that requires quick responses are best programmed in
machine code or assembly language. The High-level languages will not be suitable for
their translation and subsequent executions are usually slow.
Development time: High level languages are easy to read, understand and develop hence
less development time. The machine code and assembly language programming on the
other hand are time consuming because they are relatively difficult to read, understand
and develop.
Maintenance: Programs are developed to solve specific problems and the problems
environments keep on changing and hence the programs are also changed to meet the
enhanced functional environment. The activity of incorporating more routines onto a
program or removing the obsolete routines or just modifying the routines that are existing
to make a program adapt to a functionally enhanced environment is described as
program maintenance.
Availability of programmers: The programming language selected should have a pool
of readily available programmers to ease maintenance and reduce development time.
References
1. C.S French (2001) Data processing and information technology. Martins the printers Ltd.
5. Dr John Onunga and Renu Shah (2008) Computer Studies Book 1. Mariwa publishers
Ltd.