View by:  Subject  Theme  Question  Term  Person  Event

What is Software, Exactly?

Could we say that software is an example of active information? Isn’t it an intangible thing that ‘does stuff’? Doesn’t 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.’ I’m 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 what’s 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.’

It’s 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 they’ve changed the state of a person. It’s 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’:




(human instructions)
Human language


New cognitive/brain state
(the writing is not ‘in’ the brain)

(computer instructions)
Computer language


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 Babbage’s Analytical Engine - was not electrical but mechanical. It’s 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 today’s 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 it’s not unique to computer devices.

Email link | Printer-friendly | Feedback | Contributed by: Adrian Wyard

What is Software, Exactly?

Demystifying Information Technology and All Things Cyber - Overview
Why is IT Seen as Mysterious?
What is Information, Exactly?
What Does it Mean to be ‘Digital’?
What and Where is Cyberspace?


Adrian Wyard

What Makes us Human?
Books on Information Technology