The distinction between hardware and software is artificial. The difference between the two is only one of scale: hardware works in the world of matter, software works in the world of energy1. However, whether you’re manipulating atoms, or electrons, you’re still just using the ‘rearranging of the physical’ as a tool (whether it be a hammer, or accounting software).
This is why it is possible for software and hardware to interact. This is why, when you press a mechanical key on your keyboard, a ‘virtual’ character can appear on the screen. This is why when a ‘virtual’ trigger is sprung, a physical activity can be initiated (when a conditional statement is true, the gears in your printer will turn).
Hardware and software are not two separate worlds. Rather, they are more like the ocean and the atmosphere of Earth: two varieties of the same concept. In practical terms, we think of the ocean as full of something, but of the atmosphere as empty. Really, we are just swimming in an ocean of air. The ocean and atmosphere are both fluids; one of water, one of air. So too is it with hardware and software, one of molecules, and one of electrons. Software is a machine.
If we can accept this premise, that there is really no clear distinction between hardware and software (other than a definitional distinction, much like the atmosphere and ocean), then we can extend the premise to ourselves. Human beings consist of hardware (our bodies) and software (our minds). Depending on your belief system, the soul may be part of the software layer, or may transcend both. However, this is beyond the scope of this article. Just like hardware and software are two ends of the same spectrum, so top are the human mind and the physical body.
If you write the alphabet in sand with a stick, all you have done is rearrange particles of sand. I’m not sure where to go with this. Perhaps this is just circular logic, a stating of the obvious (everything in the universe is just part of the universe – hardly groundbreaking). I’m clearly not breaking any new ground here. However, I think I have finally reconciled for myself, at least in theoretical terms if not in practical terms, what had always struck me as an incongruity: how software and hardware can interact – how moving a mouse can make a cursor move.
Somebody, please tell me they know what I’m talking about.
1. I accept the criticism that this difference I’m conceding (that hardware works in the world of matter while software works in the world of energy) may well be the very defining difference between hardware and software. However, I’m referring here to the more popular conception that there is some greater divide between the two.