Computer
software
Computer software (or
simply software) is that
part of a computer system that
consists of encoded information
(or computer instructions), as
opposed to the physical computer
equipment (hardware)
which is used to store and
process this information. The
term is roughly synonymous with
computer program but is more
generic in scope.
The term "software" was first
used in this sense by
John W. Tukey in
1957. In
computer science and
software engineering,
computer software is all
information processed by
computer systems,
programs and
data. The concept of
software was first proposed by
Alan Turing in an essay.
Relationship to hardware
Computer software is so
called in contrast to
computer hardware, which is
the physical substrate required
to store and execute (or run)
the software. In computers,
software is loaded into
RAM and executed in the
central processing unit. At
the lowest level, software
consists of a
machine language specific to
an individual processor, and
operating system. The
machine language consists of
groups of binary values
signifying processor
instructions and data, which
change the state of the computer
from its preceding state.
Software is an ordered sequence
of instructions for changing the
state of the computer hardware
in a particular sequence to
obtain a particular result. It
is generally written in
'high-level languages' that are
easier and more efficient for
humans to use (closer to
natural language) than
machine language. High-level
languages are
compiled or
interpreted into machine
language.
Relationship to data
Software has historically
been considered an intermediary
between electronic hardware and
data, which latter the
hardware processes according
to the sequence of instructions
defined by the software. As
computational science becomes
increasingly complex, the
distinction between software and
data becomes less precise. Data
has generally been considered as
either the output or input of
executed software. However, data
is not the only possible output
or input. For example, (system)
configuration information may
also be considered input,
although not necessarily
considered data (and certainly
not applications data). The
output of a particular piece of
executed software may be the
input for another executed piece
of software. Therefore, software
may be considered an interface
between hardware, data, and/or
(other) software.
System, application and
programming software
Practical computer systems
divide software into three major
classes:
system software,
application software and
programming software,
although the distinction is
somewhat 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.
-
Application software
allows humans to accomplish
one or more specific
tasks. Typical
applications include
office suites,
business software,
educational software,
databases and
computer games. Most
contermporary application
software uses a
graphical user interface
(GUI), for humans to
interact with the data, but
a large portion of the
business world still uses
powerful
legacy systems written
before the development of
GUI, and a lot of computing
occurs without direct human
interaction.
-
Programming software
usually provides some useful
tools to help
programmer to write
computer programs and
software using different
programming language in
a more convenient way. The
tools include
text editor,
compiler,
interpreter,
linker,
debugger, and so on.
Integrated development
environment (IDE) merges
those tools in a software
bundle, and programmer
may not need to type a lot
of
commands for compiling,
interpreter, debugging,
tracing, and etc., because
IDE mostly has a GUI.
Software program and library
Software program is usually
the directly
executable part of a
software.
Software libraries can
include software components used
by stand-alone programs, but
which cannot be executed on
their own. Thus, programs can
include standard routines that
are common to many programs,
extracted from the libraries,
but libraries can also include
stand-alone programs. Depending
on
operating system, a program
can be called by another
program, by a human being, and
can call another program.
Three layers of software
Users often see things
differently than programmers.
People who use modern general
purpose computers (as opposed to
embedded systems,
analog computers,
supercomputers, etc.)
usually see three layers of
software performing a variety of
tasks: platform, application,
and user software.
- Platform software
- Platform includes the
basic input-output system
(often described as
firmware rather than
software),
device drivers, an
operating system, and
typically a graphical user
interface which, in total,
allow a user to interact
with the computer and its
peripherals (associated
equipment). Platform
software often comes bundled
with the computer, and users
may not realize that it
exists or that they have a
choice to use different
platform software.
- Application software
-
Application software or
Applications are what most
people think of when they
think of software. Typical
examples include office
suites and video games.
Application software is
often purchased separately
from computer hardware.
Sometimes applications are
bundled with the computer,
but that does not change the
fact that they run as
independent applications.
Applications are almost
always independent programs
from the operating system,
though they are often
tailored for specific
platforms. Most users think
of compilers, databases, and
other "system software" as
applications.
- User-written software
-
User software tailors
systems to meet the users
specific needs. User
software include spreadsheet
templates, word processor
macros, scientific
simulations, graphics and
animation scripts. Even
email filters are a kind of
user software. Users create
this software themselves and
often overlook how important
it is. Depending on how
competently the user-written
software has been integrated
into purchased application
packages, many users may not
be aware of the distinction
between the purchased
packages, and what has been
added by fellow co-workers.
See also:
Software architecture.
Software creation
Look back to
Computer software
Software operation
Computer software has to be
"loaded" into the
computer's storage (also
known as memory and
RAM).
Once the software is loaded,
the computer is able to operate
the software. Computers operate
by executing the
computer program. This
involves passing
instructions from the
application software, through
the system software, to the
hardware which ultimately
receives the instruction as
machine code. Each
instruction causes the computer
to carry out an operation --
moving
data, carrying out a
computation, or altering the
flow of instructions.
Kinds of software by
operation:
computer program as
executable,
source code or
script,
configuration.
Software quality and
reliability
Software reliability
considers the errors, faults,
and failures related to the
creation and operation of
software.
See
Software auditing,
Software quality,
Software testing, and
Software reliability.
Software patents
The issue of
software patents is very
controversial, since while
patents protect the ideas of
"inventors",
they are widely believed to
hinder
software development. See
Hacker ethic
See also
|
PC Software
Manufacturers |
|
|
|
|
|
|
Software
Select:-
The
lowest
prices
on
all
software
titles,
games,
office
solutions,
quicken
products,over
450,000
titles
available.
5th
Dimension
Software
-
Amiga
licenceware
retail
sales
and
development.
Applications
Mall
-
offers
a
variety
of
cross-platform
business
applications,
development
tools,
utilities,
and
education
for
your
business.
ASAP
Software
Express
-
sells
and
supports
PC
software
and
add-on
hardware
products
geared
to
business
and
government.
Beyond
Software-
The
lowest
prices
on
all
software
titles,
games,
office
solutions,
quicken
products,over
450,000
titles
available.
B &
L
Marketing
-
software
titles
at
wholesale
prices.
BMT
Micro
-
OS/2,
DOS,
Windows,
Linux,
and
Java
software
distribution.
Bookmark
Software
-
with
online
catalog
of
titles.
BuyDirect.com
-
facilitates
secure
Internet
payments
and
immediate
product
download
from
the
software
manufacturer.
BuyONet
-
software
shopping
center
with
applications
ready
for
download.
Payments
are
accepted
in
22
different
currencies
for
software
in
more
than
20
different
languages.
Byers
Group
Software
Express
Superstore
-
sells
various
types
of
software.
Campus
Connection
-
provides
student
services
including
computer
products
and
textbooks.
Celestin
Company,
Inc.
-
Apprentice
and
MacHack
Macintosh
software
related
products,
and
sheet
music
on
CD-ROM.
Chase
Computing
International
Corp.
-
Chinese
software
specialist.
Microsoft
Chinese
language
products
distributor
in
the
United
States
and
Canada.
Chinese
Software
Superstore
-
Chinese
and
Japanese
software
titles
for
business
and
home,
including
Chinese
PC
games
and
Chinese
Microsoft
Windows.
Chumbo
Corporation
Circuits
&
Systems,
Inc.
-
custom
programming
and
retail
hardware
and
software.
Developer
of
Chaver-ware
synagogue
membership
and
accounting
applications.
Computer
Outfitters,
Inc.
-
site
includes
an
online
catalog.
ComputerCost
-
carrying
overstocked
and
surplus
versions
of
current
products.
Computermate
-
international
supplier
of
PC
software
and
peripherals.
Computers
R
Us/Discount
Bible
Software
DEK
Software
International
Diskovery
Educational
Systems
-
offers
software
at
academic
prices
for
educational
customers.
Doesn't
Byte
Software
-
sells
shareware
authoring,
e-mail
and
file
management
software.
Download
Mall
- a
secure
online
mall
which
offers
software
from
leading
publishers
that
can
be
downloaded
instantly.
Download
Superstore
Echo
Software
&
Hardware
-
new
and
used.
Ethiopian
Computers
and
Software
-
Ethiopic
software
for
computers
and
the
internet,
references
and
links.
eWarehouse
-
browse,
download,
and
purchase
software.
Genesis
Technologies,
Inc.
-
hardware
and
academically
priced
software
for
students,
teachers,
and
staff
of
educational
institutions.
Get
Software
-
provides
international
and
domestic
customers
the
ability
to
electronically
purchase,
register,
and
download
software.
Great
Stuff
Network
-
buy
and
sell
electronic
content
on
the
web,
including
games,
software,
novels,
poetry,
music,
clip
art,
and
cartoons.
H+a
Collection
-
games,
art,
reference,
and
educational
software.
HALLoGRAM
Publishing
-
programming
tools,
add-on
libraries,
and
scientific
and
technical
software.
Herb's
Discount
Software
-
software
liquidator.
Hewlett
Packard-Printer
drivers
IMV/Victron
UPS
and
Software
-
UPS
power
protection
from
a
quarter
kVa
to
3MVa.
Software
for
powermanagent.
Indelible
Blue
-
software
and
hardware
for
Windows
NT,
Unix,
Java,
OS/2,
and
Lotus
Notes
environments.
Inform
Group
Ltd
-
supplier
of
legal
information
systems
software.
InfoTel
Corporation
-
Markets
DB2
Utilites
for
MVS,
IMS
and
the
ecopad.
Telecommunications
optimizer
for
UNIX
systems.
Intuit
Software
-
Makers
of
Quicken,
Quickbooks,
Turbo
tax
and
other
financial
software.
Islander
Software
-
Linux,
FreeBSD,
UNIX,
and
miscellaneous
software
supplier.
JE
Software
Journey
Education
Marketing
-
educational
software
for
students,
teachers,
and
schools.
Loadstar
-
surviving
Commodore
software
vendor.
Logic
-
Macintosh
and
IBM
PC
reseller/repair/software
support.
IBM
RS/6000
VAR.
Developer
support
for
Macintosh
and
PC:
C/C++/HyperTalk/Unix.
Lotus
Store
Macromall
MacTreasures
-
source
for
unique
and
unusual
Apple
and
Mac
games,
cables,
programming
tools
and
more.
Online
order
form
available.
Mareco
Sales
-
software
company
offering
academic
discounts
on
products.
Martin's
Surplus
Software
-
a.k.a.
Martian
Surplus
-
previous/current
versions
of
educational,
productivity,
utilities,
and
entertainment
software
ideal
for
limited
budgets.
Martinsson
-
Swedish
distribution
and
consultancy
company
for
internetworking
and
integration
products.
McAfee
Mall
-
downloadable
software
from
McAfee
and
other
vendors.
Meridian
Marketing
Group,
Inc.
-
marketing
and
distribution,
via
the
Internet,
of
high-performance,
high-technology
Unix
and
PC-based
software
for
workstations.
Micro-Sped
Computer
Consultants
-
sells
special
education
software,
and
provide
access
to
the
internet.
Micromaster
Software
-
academic
discounts
on
software,
to
students,
teachers
faculty,
staff
&
schools.
MicroWorld
Mind
Express
-
online
retailer
specializing
in
DVD-ROM,
Nintendo
64,
and
Playstation.
MobileSoft
-
offers
Windows
CE
based
software.
Moore
Technologies
Mr
Bones
Killer
Graphics
-
offers
software
for
a
variety
of
platforms.
Multimedia
Universe
-
entertainment
and
business
software;
printers
and
accessories.
Olympus
OmniSoft
Business
Solutions
-
software
solutions
for
businesses
and
athletic
organizations.
Database
design
and
hardware
connectivity.
Open
Architecture
Systems
(Pty)
LTD
Oregon
Data
Products
PCLine
Store
-
Internet
software,
books
and
magazines.
Provantage
Qwerks
-
gathers
software
from
around
the
world
and
distributes
it
to
anyone
with
a
valid
credit
card.
Most
of
the
software
on
the
site
can
be
downloaded
immediately.
R.I.
Soft
Systems
-
Contains
demos,
freebies,
shareware,
information,
and
more.
Raleigh
Group
International
-
vendor
of
software
developement
tools
specializing
in
configuration
and
change
management
tools.
Real
magic
Linux
-
woman
owned
Red
Hat
reseller
small
business.
RIGG
S.A
-
Chilean
Software
and
Peripherals
distributor.
McAfee
Agent,
US
Robotics
distributor.
RomTech,
Inc.
-
software
solutions
for
the
home
and
office.
Sabra2000
-
offering
electronic
download.
Santa
Monica
Software
Estonia
-
distributer
of
data
communication
products
in
the
Baltics:
Cisco,
Cascade,
Allied
Telesyn,
FTP
Software,
NCD.
SaralSoft
-
specializing
in
India-related
software.
Scorpious
On-Line
-
reseller
of
Adobe
publishing
and
graphics
software.
SET
GmbH
-
Spezialist
für
kaufmännische
Software:
KHK
Software,
KHK
Classic
Line,
KHK
Office
Line,
Finanzbuchhaltung,
Rechnungswesen,
Auftragsbearbeitung,
Lohnbuchhaltung,
Produktion
(in
German).
Sidea
-
software
info,
demos,
evaluations
and
assistance.
Sigma
Computers
-
hardware
and
software
sales.
Soft&Net
-
provides
software
distribution.
Soft/Export,
Inc.
-
software
republishing
company
specializing
in
world-wide
marketing
and
sales
of
Windows
software
for
help
authors,
Visual
Basic,
Visual
C/C++,
and
Delphi
developers.
SoftCenter
-
offers
a
variety
of
name
brand
software.
SoftChoice
-
corporate
and
government
software
reseller.
Softdisk
Publishing
Softmania
Software
City
-
software,
hardware,
computer
training
and
servicing
centers.
Nationwide
chain
of
computer
professionals.
Software
of
the
Month
Club
Software
Online
-
Canadian
computer
superstore.
Software
Plus
Software
Street
-
online
catalog
of
discounted
software
products,
detailed
info
and
reviews.
Software
Unboxed
SoftwareChannel-World
Starvector
Software
Sunbelt
Software
Distribution
-
one
stop
shop
for
WindowsNT
Utilities
Supreme
Software,
Inc.
-
software,
hardware,
and
peripheral
reseller
dealing
with
corporate,
government,
and
educational
customers
nationwide.
Surplus
Direct
Tech
Resources
Unlimited,
Inc.
-
computer
technology
books
and
software
store.
Teltek
Systems,
Inc.
- a
value
added
reseller
for
Adobe,
Macromedia
and
Quadralay.
We
offer
training
in
FrameMaker
and
Frame+
SGML.
Thunderbeam
-
reviews,
fun
activities
and
direct
sales.
Uncle
John's
Attic
UniDirect
Corporation
-
software
for
UNIX,
Internet/Web,
and
NT
servers.
UniPress
Software
- a
developer,
distributor,
reseller,
and
SuperVAR
of
PC-UNIX
Connectivity,
Development
Tools
and
UNIX
Applications.
USSoft
-
purchase
and
download
over
the
internet.
Visions
Technology
in
Education
-
software
of
interest
to
teachers.
Wholesale
Depot
Inc.
Wholesale
Software
-
offers
software
to
resellers.
WinCorp
Software's
Virtual
Software
Store
Yoursoftware.com |
|
|
|
|
|