Practical computer
systems divide software into three major classes: system software,
programming software and application software, although the
distinction is arbitrary, and often blurred.
System software helps run the computer hardware and computer
system. It includes operating systems, device drivers, diagnostic
tools, servers, windowing systems, utilities and more. The
purpose of systems software is to insulate the applications
programmer as much as possible from the details of the particular
computer complex being used, especially memory and other
hardware features, and such accessory devices as communications,
printers, readers, displays, keyboards, etc.
Programming software usually provides tools to assist a
programmer in writing computer programs and software using
different programming languages in a more convenient way.
The tools include text editors, compilers, interpreters,
linkers, debuggers, and so on. An Integrated development
environment (IDE) merges those tools into a software bundle,
and a programmer may not need to type multiple commands
for compiling, interpreter, debugging, tracing, and etc.,
because the IDE usually has an advanced graphical user interface,
or GUI.
Application software allows end users to accomplish one
or more specific (non-computer related) tasks. Typical applications
include industrial automation, business software, educational
software, medical software, databases, and computer games.
Businesses are probably the biggest users of application
software, but almost every field of human activity now uses
some form of application software. It is used to automate
all sorts of functions.
|