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.
|