I’m not being entirely glib and I’m not talking about cloud computing. I’m not the first person to have said this, but I have repeated it often: The end goal of the software engineer is to eliminate the requirement for hardware.
This is actually more well-developed that it appears at first blush. If you take the example of the modern processor, for instance, the op-codes of the process are not coded in transistors, they are coded in a ROM or even (sometimes) and upgradeable prom. This isn’t even new. The DEC Alpha process ran different op-codes depending on whether you were running OpenVMS or UNIX on the machine. I even remember an update from DEC that was to reflash the processor with new op-codes. One big of computer lore handed down to me holds that DEC VAX systems would initially come with microcode that included a NOP in very other instruction slot. An “upgrade” from DEC removing these NOPs doubled the speed of the system.
The line between hardware and software has been pushed back largely by associated costs. Much of the “hardware” we use now is actually software and much of it even includes it’s own operating system. A good example of this are “hardware” RAID cards. Often they either have their own operating system and run as a separate computer system inside your computer or they rely heavily on software within the driver to perform all of the real work.
As an interesting aside, Rich Cook writes a series of fantasy books in which “magic” is composed of elements (like assembly code) that can be combined in order to produce more complex things that magic often produces. Its not really explained what magic runs on, but this seems to be as close to a vision of software without hardware as I’ve seen. The first couple books in the series are free (Baen Books has a particularly good position regarding DRM: They use none and they profit from using none) and well worth the read.
This is all by way of apology for the site being down for a few hours yesterday. The server seems to loose it’s mind occasionally. It’s not often enough to fix or figure out. Hardware is evil.