1.0.4: A new analogy
It seems we're still having some trouble with the fundamental idea that a quantum register, the data storage part of a quantum computer, doesn't normally hold programs, and can only be looked at under tightly constrained conditions before the computation is complete. Let me try a new analogy:
Quantum computing is like CAM - computer aided manufacturing. Better yet, it's like the computed holograms of Mark Holzbach and company at Zebra Imaging. You have a program that runs on your (classical) computer that controls some physical devices such as lasers that illuminate parts of your output (the hologram, or our quantum register) and create interference patterns on the film or the quantum superposition. When you're done, you "develop" it (measure it, in quantum computing), and then you can look at the result.
The analogy isn't perfect; in a quantum computer, you can look at part of the register and get some information out. This is called taking a partial trace, and is critical for the implementation of quantum error correction. You can also use one or more qubits as control lines for gates, so there is a way to get some conditional behavior. However, at the level we are currently working, this is a very far cry from anything like a stored-program computer.
Link of the day: a table of quantum computer simulators from Julia Wallace. Some date as far back as 1994.