What is Software, Exactly?
Could we
say that software is an example of active information? Isnt it an intangible
thing that does stuff? Doesnt it follow that where humans have Body +
Spirit, computers have hardware + (spirit-like) software, so software is
somehow like spirit?
It turns
out this is a very tricky question. If you take a classical view of mind,
spirit or consciousness as being thoroughly separate from the physical body (a
dualist view), then the answer is again an emphatic No. In no way is software
like spirit, because computers loaded with software are undeniably 100%
physical.
(On the
other hand, if you take the view that humans are fully represented by our
physical state - including our minds - then you could start to draw analogies
between software and mind. But for the sake of this discussion, my point is
that software is not at all like spirit as commonly understood.)
What then, is software? I
find a helpful simple definition is instructions for a computer. Im using
language here in a very conventional way. I mean instructions much as we refer
to instructions for another human written on a piece of paper. While such a
definition may sound simple, this is deceptive.
Consider the following
questions with regard to the instructions for a human written with pen on
paper:
Do the instructions exist?
Are they separate from the ink and paper on which they are written? If so, are
they intangible, non-physical entities? If they are intangible, are they
spiritual? What disappears if we burn the paper? At what moment during the
burning of the paper are the instructions lost? Do they exist if we can
guarantee that no one will ever read them?
My point is that while
discussions about the reality and status of software can be a little
mind-bending and mysterious, these weird questions are not at all unique to
software instructions.
As we try and get our minds
around whats going on with instructions (either computer instructions, or
human instructions) it seems we might want to distinguish between the
representation of the instructions, and the instructions once they are loaded
in their intended reader.
Its certainly true that
written English instructions only do what they are intended to do once they are
loaded into an appropriate storage medium (i.e. the brain) of someone with the
ability to accurately interpret the words and act on them. The instructions are
in a sense only potentially instructive, only fully actualized when
theyve changed the state of a person. Its no different with software. The
representation of computer instructions on a floppy disk only has its desired
effect once it has been loaded into the store of an appropriate computer, and
executed. This activity of loading, or reading the representation involves
changing the physical (electrical) state of the computer system, much as
the mind of a human is changed during the act of reading instructions from
paper. The writing stays on the paper. If we wanted to be overly-precise with
language, we might also say that the software stays on the floppy disk, and
describe the programmed computer as having a program-state:
Representation
|
Action
|
Effect
|
Writing
(human instructions)
Human language
|
Read
|
New cognitive/brain
state
(the writing is not in the brain)
|
Software
(computer instructions)
Computer language
|
Read
|
New program(ed) state
(the software is not in the computer)
|
The difference between a
functioning and non-functioning computer is not the presence of an immaterial
concept, but the fact that one of them has been configured into a very specific
physical state that will determine its functioning. A non-functioning computer
by contrast has its memory in a disorderly or otherwise undesirable physical
state.
A computer is a physical
device that has an awful lot in common with all other machines, even clockwork
devices. The distinguishing characteristic of digital computer technology is
that it can change its physical state very rapidly, efficiently and reliably.
We would do well to remember the first computer - Charles Babbages Analytical
Engine - was not electrical but mechanical. Its hard to believe, but if we
wished, we could produce a hand-cranked Pentium processor made out of wood.
It
seems safe to say that todays IT devices are physical just like looms or
windmills, and that a software-programmed-state is a specific physical
state, and not at all mysterious, or spiritual.
Postscript:
Another Possible Definition of Information:
Information: A physical
pattern, configuration or structure
notable because of its potentially significant role in the causal future of a physical
system.
Example: the sprung or unpsrung
state of the hammer on a mouse-trap.
For a definition of software (or
program-state): see above.
For a definition of Genes: see
above.
Using this broad definition
shows that many systems have a software (or program-state) aspect to
them, including devices such as mouse-traps, and that its not unique to
computer devices.
Email
link | Printer-friendly | Feedback
| Contributed by: Adrian
Wyard
|