[net.nlang] defining "software"

robison@eosp1.UUCP (Tobias D. Robison) (09/06/84)

References:

Here's a try at defining "software".  First it's necessary to define
something else, which I will call a "stored program":

Stored Program: A set of information that, when interpreted by a machine
in its intended fashion, will lead the machine through a sequence
of its possible tasks, in an order which may be dependent upon data
in the stored program and otherwise entered into the machine.

Software: A stored program that can be easily modified or replaced
under control of software, by electronic means only.

The phrase "electronic means" is somewhat nebulous, but is meant
to exclude mechanically replacing ROMS, or irradiating chips with
ultraviolet light to deprogram them.

I'm sure you have all noted the tendnecy to refer to digital recordings
a "software", which is a terrible use of the term, since what is on
these recordings is surely data rather than a stored program, and
is firm rather than soft.  Which leads to the next problem -- how is
"data" different from  a stroed program?

Data: A set of information that, when interpreted by a machine
in its intended fashion, will function as independent and dependent
variables from which:
	- additional data can be calculated, and
	- decisions can be made concerning which portions of
	  stored programs to execute next.

- Toby Robison (not Robinson!)
allegra!eosp1!robison
decvax!ittvax!eosp1!robison
lead the machine through a sequence
of its possible tasks, in an order which may be dependent upon data
in the stored program and otherwise entered into the machine.

robison@eosp1.UUCP (Tobias D. Robison) (09/17/84)

References:

Henry Polard's definition:

>> Software: a program with the data that is included in order for it
>> to operate.

I don't think that this definition accomplishes enough.
First, one of the serious problems in defining software lies in
distinguishing it from data.  It is the failure to distinguish
software and data that, in my view, leads to such vagueness as
calling a record or a Compact Disk, "software".

Second, I think a program is software even if it its data is not
included.  I have seen enormous programs that lack any data whatsoever;
they look like software to me.

Third, it's really important to define the word program.
Walter mondale's program for dealing with the National Debt
probably is not software.

My memo on this subject may have tried to deal with "program" the hard
way; an easier way is to work with the word "algorithm", which is
well-defined.  One might ask what kinds of instances of algorithms
are classified as software.  As a counter example, if an algorithm is
carried out by a simple mechanical thing, I would not call the thing
software.

	- Toby Robison (not Robinson!)
	allegra!eosp1!robison
	or: decvax!ittvax!eosp1!robison
	or (emergency): princeton!eosp1!robison

brian@digi-g.UUCP (09/18/84)

<Software bug>
Software is what's left after you remove all the hardware.         :-)

debray@sbcs.UUCP (Saumya Debray) (10/18/84)

> ... one of the serious problems in defining software lies in
> distinguishing it from data.  It is the failure to distinguish
> software and data that, in my view, leads to such vagueness as
> calling a record or a Compact Disk, "software".

Hmmm ... but try distinguishing program from data in, say, lisp or Prolog!
-- 
Saumya Debray, 	SUNY at Stony Brook

	uucp:
	    {cbosgd, decvax, ihnp4, mcvax, cmcl2}!philabs \
		      {amd, akgua, decwrl, utzoo}!allegra  > !sbcs!debray
			      {tektronix, metheus}!ogcvax /
	CSNet: debray%suny-sbcs@CSNet-Relay